SQL---高级函数
2022/1/4 19:03:47
本文主要是介绍SQL---高级函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
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()
查找字符或字符串在另一个字符串或表达式中的起始位置
跟charindex()不同于能加'通配符',也因此固定从第0位开始找
对于变化的搜索字符串很有价值
--patindex('查找内容', 删除内容) select patindex('上次%', '上次学习还是在上次') --结果:1, 以此为开头 select patindex('%上次', '上次学习还是在上次') --结果:8, 以此为结尾 select patindex('%上次%', '上次学习还是在上次') --结果:1, 返回第一个的位置 select patindex('上次', '上次学习还是在上次') --结果:0, 因为不一致 select patindex('上次学习还是在上次', '上次学习还是在上次') --结果:1, 一致 --若不写where,则查找该字段列所有内容 select patindex('查找内容', 字段) from 表 where 条件
stuff()
删除指定长度的字符,或在指定起点处插入另一组字符,返回字符串类型
--stuff(列名, 开始位置, 删除长度, 替代字符串) select stuff('你看这个彬彬就是逊啊!', 2, 5, '') --结果:你就是逊啊! --把删除部分,替代新字符串 select stuff('你看这个彬彬就是逊啊!', 2, 5, '不') --结果:你不就是逊啊!
substring()
截取指定长度的字符串
--substring(内容, 开始位置, 长度) select substring('开玩笑,我超勇的好不好?', 5, 4) --结果:我超勇的
ltrim()
删除起始空格后返回字符表达式
rtrim()
截断所有尾随空格后返回一个字符串
直接看效果↓
upper()
小写转换大写的字符表达式
lower()
大写转换小写的字符表达式
直接看效果↓
replace()
用另一个字符串替换出现的所有指定字符串值
--replace(原内容, 指定内容, 新内容) select replace('年轻人还是太年轻', '年轻', '老实') --结果:老实人还是太老实
replicate()
指定的次数重复字符表达式
--replicate(内容, 个数) select replicate('*', 5) --结果:*****
space()
返回指定个数的空格表达式
--space(空格个数) select '字段1' + space(2) + '字段2' --结果:字段1 字段2
reverse()
倒置字符串内容
select reverse('你是年少的欢喜') --喜欢的少年是你
cast()
转换数据的类型
--cast(内容 as 转换类型) select cast(123.5 as int) --结果:123 select cast(123.5 as varchar(5)) --结果:123.5 select cast(123.5 as decimal(18,2)) --结果:123.50
case()
简单的条件判断转换
"SQL学习计划二"第17题就有用到,看下图就能理解了。
这篇关于SQL---高级函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南