有关在SQL中使⽤函数
⼀直以来使⽤SQL都是使⽤select ,update ,insert ,delete其中操作的对象都是表或者表的某列。
其实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
3、视图的搜索条件中,以使视图在运⾏时与⽤户或环境动态的保持⼀致。
如:
1CREATE VIEW ShowMyEmploymentInfo AS
2SELECT*FROM Employees
3WHERE EmployeeID =SUSER_SID()
4GO
5
4、任⼀表达式中
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 语句未指定值得情况下提供⼀个值
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    )
sql触发器的使用
9GO
10