【SQL Server】SQL常用系统函数
函数类型 | 函数表达式 | 功能 | 应用举例 |
---|---|---|---|
字符串函数 |
SubString(表达式,起始,长度) | 取子串 | SubString('ABCDEFG',3,4) |
Right(表达式,长度) | 右边取子串 | Right('ABCDEFG',3) | |
Str(浮点数[,总长度[,小数位]]) | 数值型转换字符型 | Str(123.4567,6,2) | |
LTrim(表达式)、RTrim(表达式) | 去左、右空格 | LTrim(' ABC') | |
CharIndex(子串,母串) | 返回子串起始位置 | CharIndex('BCD','ABCDEFG') | |
类型转换函数 |
Convert(数据类型[(长度)],表达式[,日期转字符样式]) 样式有1:mm/dd/yy,5:dd-mm-yy,11:yy-mm-dd,23:yyyy-mm-dd等等 |
表达式类型转换 |
Convert(varchar(100),GetDate(),1) 注:当前日期转换为字符串 |
Cast(表达式 As 数据类型[(长度)]) | 表达式类型转换 |
Cast(23 As nvarchar) 注:数值转字符串 |
|
数值函数 |
Abs(表达式) |
取绝对值 | Abs(-123) |
Power(底,指数) | 底的指数次方 | Power(4,5) | |
Rand([整形数]) | 随机数产生器 | Rand(1) | |
Round(表达式,精度) | 按精度四舍五入 | Round(12.3556,2) | |
Sqrt(表达式) | 算术平方根 | Sqrt(16) | |
日期函数 |
GetDate() | 当前的日期和时间 | GetDate() |
Day(表达式) | 表达式的日期值 | Day(GetDate()) | |
Month(表达式) | 表达式的月份值 | Month(GetDate()) | |
Year(表达式) | 表达式的年份值 | Year(GetDate()) | |
DateAdd(标志,间隔值,日期) 标志有YY:年份,MM:月份,DD:日 |
日期间隔后的日期 |
DateAdd(DD,2,GetDate()) 注:两天后的日期 |
|
DateDiff(标志,日期1,日期2) 标志有YY:年份,MM:月份,DD:日 |
日期2与日期1的差 |
DateDiff(YY,Birthday,GetDate()) 注:计算年龄 |
|
判断函数 |
IsDate(表达式) | 是否合理日期 | IsDate(GetDate()) |
IsNULL(是否空值,替代值) | 若空用指定值代替 | IsNULL(Sex,'男') | |
IsNumeric(表达式) | 是否为合理的数值 | IsNumeric(表名.列名) | |
Exists(子查询) | 检查结果集 | Exists(Select * From 表名) | |
统计函数(参数默认NULL) |
Avg([Distinct 列名]) | 取均值 | Avg(列名) |
Count([Distinct 列名]) | 行数 | Count(Distinct 列名) | |
Max([Distinct 列名]) | 最大值 | Max(列名) | |
Min([Distinct 列名]) | 最小值 | Min(列名) | |
Sum([Distinct 列名]) | 求和 | Sum(列名) |
就先记录这些以后碰见了在补充