6. 函数
1、 聚合函数
最大值 MAX(字段)
最小值 MIN(字段)
平均值 AVG (字段)
求和 SUM (字段)
数量 COUNT(*)
2、 数字函数
执行备注中的代码
ABS() :求绝对值。
CEILING():舍入到最大整数 。3.33将被舍入为4、2.89将被舍入为3、-3.61将被舍入为-3。 Ceiling→天花板
FLOOR():舍入到最小整数。3.33将被舍入为3、2.89将被舍入为2、-3.61将被舍入为-4。 Floor→地板。
ROUND():四舍五入。舍入到“离我半径最近的数” 。Round→“半径”。例:Round(3.1425,2)。
解释:3.1425是在四舍五入的值,2是精确的位数
3、 字符串函数
LEN() :计算字符串长度 求字符
DATALENGTH(): 计算字节长度 求字节 一个汉字两个字节
例:
select len('123是数字') --字符
select datalength('123是数字') --字节
注意:text类型保存的是字节数据,所以不能用len()
LOWER(): 转小写
UPPER () :转大写
LTRIM(): 字符串左侧的空格去掉
RTRIM () :字符串右侧的空格去掉
例:LTRIM(RTRIM(' bb '))
SUBSTRING(string,start_position,length)
参数:string为主字符串,
start_position为子字符串在主字符串中的起始位置,从1开始
length为子字符串的最大长度。
例:SELECT SUBSTRING('abcdef111',2,3)
4、 日期函数
GETDATE() :取得当前日期时间
DATEADD (datepart , number, date ),计算当前的时间前或后
参数:datepart 计量单位 值:year、month、day
number 增量 正数是后,负数是前
date 日期
例:--获得当前日期前年的时间
select dateadd(month,1,getdate())
DATEDIFF ( datepart , startdate , enddate ) :计算两个日期之间的差额。 参数:datepart 计量单位
startdate 起始日期
enddate 结束日期
例:统计不同工龄的员工的个数:
select DateDiff(year,FInDate,getdate()),count(*) from T_Employee group by DateDiff(year,FInDate,getdate())
DATEPART (datepart,date):返回一个日期的特定部分
参数:datepart 计量单位
date 日期
统计员工的入职年份个数:
select DatePart(year,FInDate),count(*) from T_Employee
group by DatePart(year,FInDate)
5、 类型转换函数
CAST ( expression AS data_type)
参数:expression 要转换的值
data_type 要转换的类型
例:select cast(right('abc2011-02-24',10) as datetime)
CONVERT ( data_type, expression)
参数:expression 要转换的值
data_type 要转换的类型
例:select convert(datetime,right('2012-11-24',10))
6、空值处理函数
ISNULL(expression,value) :
参数:如果expression值为null,刚返回value的值
7、 CASE函数
单值判断,相当于switch case
例:select fsalary, case
when fsalary < 4500 then '初级'
when fsalary < 8000 then '中级'
when fsalary > 8000 then '高级'
end as '等级'
from t_employee
注:then 后面除了给常量之外,还可以给列