SQL---高级函数

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

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()

查找字符或字符串在另一个字符串或表达式中的起始位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值