MySQL数据库字符串(单行)函数#concat、length、tirm、replace、strcmp、substr等函数总结

Mysql数据库字符串函数是对于在字符串位置操作的函数,第一个位置的编号为 1。下面总结了10种常用的字符串函数,包括 concat、length、insert、left 、lpad、trim 、repalce、strcmp、substr函数,其实函数还很多,我就不一 一 例举了。部分引用参照MySQL_5.1_zh-chm 说明文档

1.10种字符串常用函数介绍

  ① concat(str1,str2,str3…) :返回结果为连接参数产生的字符串。 如有任何一个参数为null ,则返回值为null。

  ② concat_ws(separator,str1,str2,str3…) :表示 concat with separator 是CONCAT()的特殊形式。 第一个参数是其它参数分隔符。分隔符的位置放在要连接的两个字符串之间。 分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 null,则结果为 null。函数会忽略任何分隔符参数后的 null值。

  ③ length(str):返回字节占的总结数 。 char_length(str):返回字符串的字符数 。

  ④ insert(str*,pos,len,newstr):返回字符串 str, 其子字符串起始于 pos 位置和长期被字符串 newstr取代的len* 字符 如果pos 超过字符串长度,则返回值为原始字符串 。假如len的长度大于其它字符串的长度,则从位置pos开始替换。若任何一个参数为null,则返回值为null。

  ⑤ left(str*,len):返回从字符串str* 开始的len 最左字符 。

  ⑥ lpad(str*,len,padstr) :返回字符串 str, 其左边由字符串padstr* 填补到len 字符长度 。假如str 的长度大于len, 则返回值被缩短至 len 字符。

  ⑦ trim([{both|leading|trailing}[remstr]from] str) trim(remstr]str) :返回字符串 str ,其中所有remstr 前缀和/或后缀都已被删除。若分类符both、leadin或TRAILING中没有一个是给定的,则假设为both 。 remstr 为可选项,在未指定情况下,可删除空格。

  ⑧ repalce( str,from_str,to_str ):返回字符串str
以及所有被字符串to_str替代的字符串from_str

   ⑨strcmp(expr1,expr2):若所有的字符串均相同,则返回0,若根据当前分类次序,第一个参数小于第二个,则返回 -1,其它情况返回 1 。

  ⑩substr(str,post):从字符串str返回一个子字符串,起始于位置 pos

2.对应语句练习
⑴SELECT CONCAT ('lindaia',':','666') AS "连接结果" ; -- lindaia:666

⑵SELECT CONCAT_WS('@','lin','da','xia') AS  "字符分隔连接结果"; -- lin@da@xia

⑶SELECT LENGTH('林大侠') AS "(汉字)字符串占字节数";  -- 查询结果:9 (utf8下一个汉字是3个字节)

 SELECT CHAR_LENGTH('林大侠') AS "(汉字)字符串占字符数";  -- 查询结果:3

 SELECT LENGTH('linda') AS "(字母)字符串占字节数";  -- 查询结果:5

 SELECT CHAR_LENGTH('linda') AS "(字母)字符串占字符数";  -- 查询结果:5

⑷SELECT INSERT ('lindaxia',4,2,'haha') AS "取代的字符串"; -- linhahaxia

⑸SELECT * FROM teacher_course WHERE LEFT(csubject,1) = '软';--如下图

表数据如下:
在这里插入图片描述
查询结果:
在这里插入图片描述

⑹SELECT LPAD('lindaxia',20,'java') AS "左边由java填补到20字符长度 ";-- jajavajavalindaxia

⑺SELECT CONCAT('[',TRIM('   lindaxia  like you  !  '),']') AS "去掉前后空格 "; -- [lindaxia  like you  !]

 SELECT TRIM(BOTH '@'FROM '@@@@lin daxia@@') AS "去掉开头、结尾指定字符 ";-- lin daxia

 SELECT TRIM(LEADING '@'FROM '@@@@lin daxia@@') AS "去掉开头指定字符 "; -- lin daxia@@

 SELECT TRIM(TRAILING '@'FROM '@@@@lin daxia@@') AS "去掉结尾指定字符 "; -- @@@@lin daxia

 SELECT CONCAT('[',LTRIM('   lindaxia  like you  !  '),']') AS "去掉开头空格字符 "; -- [lindaxia  like you  !  ]

⑻SELECT REPLACE ('lindaxia','i','@') AS "指定字符替换";  -- l@ndax@a

⑼SELECT STRCMP('lin','lin') AS "比较字符串的大小";  -- 返回结果 0

 SELECT STRCMP('lin','man');  -- 返回结果 -1

 SELECT STRCMP('man','lin');  -- 返回结果 1

⑽SELECT SUBSTR('lindaxiao',4) AS "指定开始位置截取字符串" ;  --daxiao
#轻松一刻:

在这里插入图片描述


☝上述分享来源个人总结,如果分享对您有帮忙,希望您积极转载;如果您有不同的见解,希望您积极留言,让我们一起探讨,您的鼓励将是我前进道路上一份助力,非常感谢!我会不定时更新相关技术动态,同时我也会不断完善自己,提升技术,希望与君同成长同进步!

☞本人博客:https://coding0110lin.blog.csdn.net/  欢迎转载,一起技术交流吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值