rand()
随机生成<1的小数
select rand() --结果:类似0.1998050720000710...
floor()
返回 ≤ 所给数字表达式的最大整数
我的理解:有小数就只取整数部分,没有小数就是它本身
select floor(6.123) --结果:6
select floor(6) --结果:6
select floor(rand()) --结果:0
select floor(rand() * 10) --结果:随机0~9
select floor(rand() * 5) --结果:随机0~4
select floor(rand() * n) --结果:随机0~n-1
ceiling()
返回 ≥ 所给数字表达式的最大整数
我的理解:有小数就整数部分+1,没有小数就是它本身
select ceiling(6.123) --结果:7
select ceiling(6) --结果:6
select ceiling(rand()) --结果:1
select ceiling(rand() * 10) --结果:随机1~10
select ceiling(rand() * 5) --结果:随机1~5
select ceiling(rand() * n) --结果:随机1~n
charindex()
查找字符或字符串在另一个字符串的起始位置,返回int类型
--charindex(要查找的内容, 字符串, 从第几位开始查找)
select charindex('上次', '上次跨年还是在上次', 0) --结果:1
--从第2位开始找,但返回结果还是从0开始的位置
select charindex('上次', '上次跨年还是在上次', 2) --结果:8
--位置可不写,默认从第0位开始查找
select charindex('上次', '上次跨年还是在上次') --结果:1
--找不到就返回0
select charindex('阿伟', '上次跨年还是在上次') --结果:0
--若不写where,则查找该字段列所有内容
select charindex('查找内容', 字段) from 表 where 条件
patindex()
查找字符或字符串在另一个字符串或表达式中的起始位

本文介绍了SQL中的一系列高级函数,包括rand()、floor()、ceiling()等数值函数,以及charindex()、patindex()等字符串处理函数。此外,还详细讲解了substring()、ltrim()、rtrim()等截取和清理字符串的函数,以及case()、row_number()等复杂逻辑和分组排序函数。文章通过实例展示了这些函数在实际问题中的应用。
最低0.47元/天 解锁文章
769

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



