MySQL常用字符函数

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”.

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

原创文章,作者:dance_man,如若转载,请注明出处:http://www.178linux.com/74546

(0)
dance_mandance_man
上一篇 2017-05-01 19:51
下一篇 2017-05-01 21:04

相关推荐

  • yum

    yum yum:YellowdogUpdate Modifier,rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date的替代工具 yum repository: yum repo,存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下)文件服务器:http://https://ftp://file:// …

    2017-08-17
  • shell脚本

    shell脚本 简介:         使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象。缺点是:它们的效率通常不如编译型语言。不过权衡之下,通常使用脚本编程还是值得的:花一个小时写成的简单脚本,同样的功能用C或C++来编写实现,可…

    Linux干货 2016-08-15
  • 高级文件系统管理 之RAID

    高级文件系统管理 之RAID 软RAID  mdadm:为软RAID提供管理界面                  为空余磁盘添加冗余       &nb…

    Linux干货 2016-08-30
  • MySQL Fabric 安装部署

    MySQL Fabric  是一个用于管理 MySQL 服务器群的可扩展框架。该框架实现了两个特性 — 高可用性 (HA) 以及使用数据分片的横向扩展。这两个特性既可以单独使用,也可以结合使用。 环境: 安装MySQL Fabric 配置MySQL Fabric MySQL Fabric 安装管理数据库fabric 启动MySQL Fab…

    数据库运维 2016-06-03
  • 马哥教育网络班22期-第1周博客作业2

    date命令 date – print or set the system date and time 显示或设置系统日期和时间 【SYNOPSIS】 date [OPTION]… [+FORMAT] 【OPTIONS】 -d:–date=STRING,显示字符串所指的日期与时间, 而不是当前时间,字符串前后必须加上双引号…

    Linux干货 2016-08-15
  • 网络班27期第五周作业

    N27_网络班 第五周作业 1、 显示当前系统上root、fedora或user1用户的默认shell [root@localhost ~]# grep -E ‘^(root|fedora|user1)’ /etc/passwd | cut -d: -f1,7 2、 找出/etc/rc.d/init.d/function文件中某单词后面跟一组小括号的行,形如…

    Linux干货 2017-08-28