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