目录
在SQL中有很多函数,直接调用函数可以帮助我们简化计算过程,避免SQL语句过于复杂,且函数具备通用性可以多次多场景使用,可以说大大方便了我们的工作。
SQL 拥有很多可用于计数和计算的内建函数。
内建 SQL 函数的语法是:
SELECT function(列) FROM 表
例子:
select avg(price) from [dbo].[spring05] where bp=0
在 SQL 中,基本的函数类型和种类有若干种。函数的基本类型是:
Aggregate 函数的操作面向一系列的值,并返回一个单一的值。
注释:
如果在 SELECT 语句的项目列表中的众多其它表达式中使用 SELECT 语句,则这个 SELECT 必须使用 GROUP BY 语句!Group By的使用我将在后续篇幅展开介绍。
SQL SERVER中一些常见的合计函数
函数 | 描述 |
---|---|
AVG(column) | 返回某列的平均值 |
COUNT(column) | 返回某列的行数(不包括NULL值) |
COUNT(*) | 返回被选行数 |
COUNT(DISTINCT column) | 返回相异结果的数目 |
TOP N column | 返回在指定字段的前N个记录值(SQLServer2000 不支持) |
MAX(column) | 返回某列的最高值 |
MIN(column) | 返回某列的最低值 |
SUM(column) | 返回某列的总和 |
Scalar 函数(标量函数)的操作面向某个单一的值,并返回基于输入值的一个单一的值。
SQL SERVER中一些常见的标量函数
函数 | 描述 |
---|---|
UPPER(column) | 将某个字段转换为大写 |
LOWER(column) | 将某个字段转换为小写 |
SUBSTRING(column,start,length) | 从某个文本字段中第start位开始提取长度为length的字符 |
LEN(column) | 返回某个文本字段的长度 |
ROUND(column,decimals) | 对某个数值字段进行指定小数位数的四舍五入 |
GETDATE() | 返回当前的系统日期 |
FORMAT(column,format) | 改变某个字段的显示方式 |
DATEDIFF(d,date1,date2) | 用于执行日期计算,计算date2和date1之间的差 |
计算bp=0的记录条中所有price的平均值。
select avg(price) from [dbo].[spring05] where bp=0
统计bp=0的记录总条数。
select count(*) from [dbo].[spring05] where bp=0
抓取Source of sales字段里所有值的前两个字符。
select substring([Source of sales],1,2) from [dbo].[spring05]
(a)Source of sales原始值如下
(b)经过SUBSTRING处理后结果如下
格式化PRICE字段数字,小数点保留两位。
select format(price,'N') from [dbo].[spring05]