设为首页 收藏本站
查看: 704|回复: 0

[经验分享] MySQL常用字符函数简介

[复制链接]

尚未签到

发表于 2018-10-9 10:36:32 | 显示全部楼层 |阅读模式
  

  
MySQL常用字符函数简介
  

  

  
   
  
        CONCAT(S1,S2...Sn)
  
        连接S1,S2...Sn为一个字符串
  
   
  

  

  

  
    concat函数,把传入的参数连接成为一个字符串。
  
    例如:
  
    把“aaa”、“bbb”、"ccc"3个字符串连接成一个字符串,“aaabbbccc”.另外任何与NULL进行连接的结果都将是NULL.
  
    >SELECT concat('aaa','bbb','ccc'),concat('aaa',NULL);
  

  
mysql> SELECT concat('aaa','bbb','ccc'),concat('aaa',NULL);
  
+---------------------------+--------------------+
  
| concat('aaa','bbb','ccc') | concat('aaa',NULL) |
  
+---------------------------+--------------------+
  
| aaabbbccc                 | NULL               |
  
+---------------------------+--------------------+
  
1 row in set (0.00 sec)
  

  

  

  

  

  

  

  
        INSERT(str,x,y,instr)
  
        将字符串str从第x位置开始,y个字符长的子串替换为字符串
  

  

  

  
    insert(str,x,y,instr)函数:将字符串str从第x位置开始,y个字符长的子串替换成"me". SELECT insert('beijingaiNI',10,2,'WO');
  
+---------------------------------+
  
| insert('beijingaiNI',10,2,'WO') |
  
+---------------------------------+
  
| beijingaiWO                     |
  
+---------------------------------+
  
1 row in set (0.00 sec)
  

  

  

  

  

  

  

  

  
    LOWER(str);UPPER(str)
  
    将字符串str中所有字符变为小写或者大写
  

  

  

  
LOWER(str)和UPPER(str)函数:把字符串转换成小写或大写
  
在字符串比较中,通常要将比较的字符串全部转换为大写或者小写,如下例所示:
  

  

  
mysql> SELECT lower('WOAINI'),upper('woxihuanni');
  
+-----------------+---------------------+
  
| lower('WOAINI') | upper('woxihuanni') |
  
+-----------------+---------------------+
  
| woaini          | WOXIHUANNI          |
  
+-----------------+---------------------+
  
1 row in set (0.00 sec)
  

  

  

  

  

  

  

  
    LEFT(str,x);RIGHT(str,x)
  
    返回字符串最左或最右边的x个字符串
  

  

  

  
LEFT(str,x)和RIGHT(str,x)函数:分别返回字符串最左边和最右边的x个字符,如果第二个参数是NULL,那么将不返回任何字符串。
  
下例所示:
  

  
mysql> SELECT left('beijing',3);
  
+-------------------+
  
| left('beijing',3) |
  
+-------------------+
  
| bei               |
  
+-------------------+
  
1 row in set (0.01 sec)
  

  
mysql> SELECT left('beijing',NULL);
  
+----------------------+
  
| left('beijing',NULL) |
  
+----------------------+
  
| NULL                 |
  
+----------------------+
  
1 row in set (0.00 sec)
  

  

  

  

  

  

  
    LPAD(str,n,pad);RPAD(str,n,pad)
  
    用字符串pad对str最左边或最右边进行填充,直到长度为n个字符长度(n要大于str的长度,否则就不是填充,变成截取了。)
  

  

  
    LPAD(str,n,pad)和RPAD(str,n,pad)函数:用字符串pad对str最左边和最右边进行填充,直到长度为n个字符串。
  

  
mysql> SELECT lpad('beijing',10,'123');
  
+--------------------------+
  
| lpad('beijing',10,'123') |
  
+--------------------------+
  
| 123beijing               |
  
+--------------------------+
  
1 row in set (0.00 sec)
  

  
mysql> SELECT rpad('beijing',10,'123');
  
+--------------------------+
  
| rpad('beijing',10,'123') |
  
+--------------------------+
  
| beijing123               |
  
+--------------------------+
  
1 row in set (0.00 sec)
  

  

  

  

  

  

  

  

  
    LTRIM(str);RTRIM(str)
  
    去掉字符串str左侧和右侧的空格
  

  

  

  
    LTRIM(str)和RTRIM(str)函数:去掉字符串str左侧和右侧的空格。
  

  
mysql> SELECT ltrim('  |wo|'),rtrim('|ni|   ');
  
+-----------------+------------------+
  
| ltrim('  |wo|') | rtrim('|ni|   ') |
  
+-----------------+------------------+
  
| |wo|            | |ni|             |
  
+-----------------+------------------+
  
1 row in set (0.00 sec)
  

  

  

  

  

  
    REPEAT(str,x)
  
    返回str重复x次
  

  

  
REPEAT(str,x)函数:返回str重复x次的结果。
  

  

  
mysql> SELECT repeat('beijing',3);
  
+-----------------------+
  
| repeat('beijing',3)   |
  
+-----------------------+
  
| beijingbeijingbeijing |
  
+-----------------------+
  
1 row in set (0.00 sec)
  

  

  

  

  

  

  
    REPLACE(str,a,b)
  
    用字符串b替换字符串str中所有出现的字符串a
  

  

  

  
    REPLACE(str,a,b)函数:用字符串b替换字符串str中所有出现的字符串a.
  

  

  
mysql> SELECT replace('beijing','bei','nan');
  
+--------------------------------+
  
| replace('beijing','bei','nan') |
  
+--------------------------------+
  
| nanjing                        |
  
+--------------------------------+
  
1 row in set (0.00 sec)
  

  

  

  

  

  

  
    STRCMP(s1,s2)
  
    比较字符串s1和s2
  

  

  

  
    STRCMP(s1,s2)函数:比较字符串s1和s2的ASCII码值的大小。
  
    如果s1比s2小,那么就返回-1,相等返回0,大于返回1.
  

  
mysql> SELECT strcmp('a','b'),strcmp('b','b'),strcmp('c','b');
  
+-----------------+-----------------+-----------------+
  
| strcmp('a','b') | strcmp('b','b') | strcmp('c','b') |
  
+-----------------+-----------------+-----------------+
  
|              -1 |               0 |               1 |
  
+-----------------+-----------------+-----------------+
  
1 row in set (0.00 sec)
  

  

  

  

  

  

  

  
    TRIM(str)
  
    去掉字符串行尾和行头的空格
  

  

  
    TRIM(str)函数:去掉目标字符串的开头和结尾的空格。
  

  
mysql> SELECT trim('  ab  ');
  
+----------------+
  
| trim('  ab  ') |
  
+----------------+
  
| ab             |
  
+----------------+
  
1 row in set (0.00 sec)
  

  

  

  

  

  
    SUBSTRING(str,x,y)
  
    返回从字符串str中的第x位置起y个字符长度的字串。
  

  

  
    SUBSTRING(str,x,y)函数:返回从字符串str中的第x位置起y个字符长度的字串。
  

  
mysql> SELECT substring('beijing2017',8,4);
  
+------------------------------+
  
| substring('beijing2017',8,4) |
  
+------------------------------+
  
| 2017                         |
  
+------------------------------+
  
1 row in set (0.00 sec)
  

  

  

  

  

  

  

  




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-619484-1-1.html 上篇帖子: 将SpringCloud ConfigServer持久化存储改为MySQL 下篇帖子: MySQL常见的几个错误汇总
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表