一篇整理MYSQL常用字符串函数的文章,先收藏,以便不时之需

文章仅供参考,不包含全部函数

MySQL常用的字符串函数(标★号为很常用)

1.★CHAR_LENGTH(str):返回字符串 str 的字符数

返回字符串 ‘你好’ 的字符数
例:SELECT CHAR_LENGTH('你好') AS LengthOfString; --2

2.★CONCAT(s1,s2,…,sn):字符串 s1,s2 等多个字符串合并为一个字符串

字符串 s1,s2 等多个字符串合并为一个字符串,常见的应用场景,模糊查询拼接通配符%
例:SELECT * FROM USERWHERE username LIKE CONCAT('%',#{username},'%')

3.CONCAT_WS(x, s1,s2…sn):合并多个字符串,并添加分隔符

同 CONCAT(s1,s2,…) 函数,但是每个字符串之间要加上 x,x 可以是分隔符
例:SELECT CONCAT_WS("-", "1", "2", "3", "4") AS ConcatenatedString; --查出来就是'1-2-3-4'

4.FIELD(s,s1,s2…):返回第一个字符串 s 在字符串列表(s1,s2…)中的位置

返回第一个字符串 s 在字符串列表(s1,s2…)中的位置
例:SELECT FIELD("c", "a", "b", "c","d", "e");

5.FIND_IN_SET(s1,s2):返回在字符串s2中与s1匹配的字符串的位置

返回在字符串s2中与s1匹配的字符串的位置
例:SELECT FIND_IN_SET("c", "a,b,c,d,e");

6.★FORMAT(x,n):格式化数字 “#,###.##” 形式

函数可以将数字 x 进行格式化 “#,###.##”, 将 x 保留到小数点后 n 位,最后一位四舍五入。
例:SELECT FORMAT(250500.5634, 2); -- 输出 250,500.56

7.INSERT(s1,x,len,s2):字符串 s2 替换 s1 的 x 位置开始长度为 len 的字符串

从字符串第一个位置开始的 6 个字符替换为 hello:
例:SELECT INSERT("google.com", 1, 6, "hello"); -- 输出:hello.com

8.LOCATE(s1,s):从字符串 s 中获取 s1 的开始位置

获取 b 在字符串 abc 中的位置:
例:SELECT LOCATE('st','myteststring'); -- 5
返回字符串 abc 中 b 的位置:
例:SELECT LOCATE('b', 'abc') -- 2

9.★LCASE(s)/LOWER(s):将字符串 s 的所有字母变成小写字母

将字符串 s 的所有字母变成小写字母
例:SELECT LCASE('HELLO') -- hello
例:SELECT LOWER('HELLO') -- hello

10.★UCASE(s)/UPPER(s):将字符串转换为大写

将字符串转换为大写
例:SELECT UCASE("hello"); -- HELLO
例:SELECT UPPER("hello"); -- HELLO

11.★LEFT(s,n):返回字符串 s 的前 n 个字符

返回字符串 runoob 中的前两个字符:
例:SELECT LEFT('runoob',2) -- ru

12.★RIGHT(s,n):返回字符串 s 的后 n 个字符

返回字符串 runoob 的后两个字符:
例:SELECT RIGHT('runoob',2) -- ob

13.★LTRIM(s):去掉字符串 s 开始处的空格

去掉字符串 HELLO开始处的空格:
例:SELECT LTRIM(" HELLO") AS LeftTrimmedString; -- HELLO

14.★RTRIM(s):去掉字符串 s 结尾处的空格

去掉字符串 HELLO的末尾空格:
例:SELECT RTRIM("HELLO") AS RightTrimmedString; --HELLO

15.★TRIM(s):去掉字符串 s 开始和结尾处的空格

去掉字符串 RUNOOB 的首尾空格:
例:SELECT TRIM(' HELLO ') AS TrimmedString; -- HELLO

16.★REPLACE(s,s1,s2):将字符串 s2 替代字符串 s 中的字符串 s1

将字符串 abc 中的字符 a 替换为字符 x:
例:SELECT REPLACE('abc','a','x') --xbc
去掉字符串H E L L O中间的空格:
例:SELECT REPLACE('H E L L O',' ',''); -- HELLO

17.INSERT(s1,x,len,s2):字符串 s2 替换 s1 的 x 位置开始长度为 len 的字符串

从字符串第一个位置开始的 6 个字符替换为 hello:
例:SELECT INSERT("google.com", 1, 6,"hello"); -- 输出:hello.com

18.★SUBSTRING(s,n,length )/SUBSTR(s, start, length):从字符串 s 的 start 位置截取长度为 length 的子字符串

从字符串 RUNOOB 中的第 2 个位置截取 3个 字符:
例:SELECT SUBSTRING("RUNOOB", 2, 3) AS ExtractString; -- UNO
例:SELECT SUBSTR("RUNOOB", 2, 3) AS ExtractString; -- UNO

19.REVERSE(s):将字符串s的顺序反过来

将字符串 abc 的顺序反过来:
例:SELECT REVERSE('abc') -- cba

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值