其实SQL是博大精深的,其可以完成的数据操作远远比我们想象的要多(至少我认为是),很多都是通过应用程序在客户端中将数据库中的数据抓出来,然后再在客户程序中进行处理,其实很多都可以在数据库中就能完成。
这里简单讲一下我在学习在sql中调用函数的笔记和心得。
首先SQL中数据库的函数有以下分类:
1、聚合函数
2、配置函数
3、游标函数
4、元数据函数
5、数学函数
6、文本函数
7、行集函数
8、系统函数
9、日期和时间函数
10、系统统计函数
11、文本和图像统计函数
在SQL中函数的使用是怎么一回事呢?
其实其调用和自己在写客户程序中是一样的,直接输入调用函数名后加其参数,
比如 SUSER_SNAME(),返回当前登陆的用户名,那么函数可以出现在哪些地方呢?
1、使用SELECT语句的查询的选择列表中,以返回一个值
select suser_sname()
这将会显示当前登录的名字
2、SELECT或数据修改语句的WHERE子句搜索条件中,以限制合乎查询条件的行。
1SELECT *
2FROM [Order Details]
3WHERE Quantity =
4 (SELECT MAX(Quantity) FROM [Order Details])
5
2FROM [Order Details]
3WHERE Quantity =
4 (SELECT MAX(Quantity) FROM [Order Details])
5
3、视图的搜索条件中,以使视图在运行时与用户或环境动态的保持一致。
如:
1CREATE VIEW ShowMyEmploymentInfo AS
2SELECT * FROM Employees
3WHERE EmployeeID = SUSER_SID()
4GO
5
4、任一表达式中2SELECT * FROM Employees
3WHERE EmployeeID = SUSER_SID()
4GO
5
5、check约束或触发器中,以在插入数据时检查指定的值
1CREATE TABLE SalesContacts
2 (SalesRepID INT PRIMARY KEY CHECK (SalesRepID = SUSER_SID() ),
3 ContactName VARCHAR(50) NULL,
4 ContactPhone VARCHAR(13) NULL)
5
6、DEFAULT约束或触发器中,以便在insert 语句未指定值得情况下提供一个值
2 (SalesRepID INT PRIMARY KEY CHECK (SalesRepID = SUSER_SID() ),
3 ContactName VARCHAR(50) NULL,
4 ContactPhone VARCHAR(13) NULL)
5
1CREATE TABLE SalesContacts
2 (
3 SalesRepID INT PRIMARY KEY CHECK (SalesRepID = SUSER_SID() ),
4 ContactName VARCHAR(50) NULL,
5 ContactPhone VARCHAR(13) NULL,
6 WhenCreated DATETIME DEFAULT GETDATE(),
7 Creator INT DEFAULT SUSER_SID()
8 )
9GO
10
2 (
3 SalesRepID INT PRIMARY KEY CHECK (SalesRepID = SUSER_SID() ),
4 ContactName VARCHAR(50) NULL,
5 ContactPhone VARCHAR(13) NULL,
6 WhenCreated DATETIME DEFAULT GETDATE(),
7 Creator INT DEFAULT SUSER_SID()
8 )
9GO
10