列举了一些SQL中的常用函数。
-
数字函数
ABS() 求绝对值(让我想起了ABS防抱死系统)
CEILING() 舍入到最大整数,-3.6舍入到-3
FLOOR() 舍入到最小整数,-3.6舍入到-4
ROUND() 四舍五入,ROUND(3.141, 2) 需要传入两个参数,前一个为操作数,后一个为精度
-
字符串函数
LEN() 计算字符串长度
LOWER() 转换为小写字符
UPPER() 转换为大写字符
LTRIM() 去左空格
RTRIM() 去右空格
SUBSTRING(string, start_position, lenth) 字符串截取函数,从start_position处开始截取长度为lenth
-
日期函数
GETDATE() 取当前日期
DATEADD(datepart, number, date) 函数用于计算增量后的日期,datepart 是计量单位,date 是需要操作的日期
datepart 可选取:year, quarter, month, dayofyear, day, week, weekday, hour, minute, second
DATEDIFF(datepart, startdate, enddate) 根据datepart求得两个日期之间的差值
DATEPART(datepart, date) 返回日期的指定部分
-
类型转换
CAST(expression as type)
CONVERT(type, expression)
-
空值处理函数
ISNULL(expression, value) 判断若 expression 不为空返回 expression,否则返回 value
select ISNULL(name, '佚名') from Person
-
单值判断
类似于 switch case 语句。
CASE expression
WHEN value1 THEN return1
WHEN value2 THEN return2
ELSE return3
END
当 when 后做范围判断时,case后可以没有表达式。
-
ROW_NUMBER() 函数
作用是统计行号。
ROW_NUMBER()是开窗函数,不能出现在 where 中,只能出现在 select、order by 中。
select * from
(select ROW_NUMBER() OVER(order by salary) as rownum, id, name, from Person) as e1
where e1.rownum > 3 and e1.rownum < 5
这样可以随意取到想要的数据行。
-The End-
© Jervis
本文深入解析了SQL中的数字函数(ABS、CEILING、FLOOR、ROUND)、字符串函数(LEN、LOWER、UPPER、LTRIM、RTRIM、SUBSTRING)、日期函数(GETDATE、DATEADD、DATEDIFF、DATEPART),以及类型转换(CAST、CONVERT)、空值处理(ISNULL)等核心内容。

被折叠的 条评论
为什么被折叠?



