目录
在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]
