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

相关推荐

  • Redhat的Linux产品版本AS/ES/WS的联系与区别

    Redhat 有两大Linux产品系列,其一是免费的Fedora Core系列主要用于桌面版本,提供了较多新特性的支持。另外一个产品系列是收费的Enterprise系列,这个系列分成:AS/ES/WS等分支,他 们都是redhat企业级Linux,简称为 RHEL AS 是超级服务器版(Advanced Server),他在标准Linux内核的基础上,做了性…

    Linux干货 2015-03-20
  • 文本处理工具 练习

    7.1 练习   1 、找出ifconfig 命令结果中本机的所有IPv4 地址 2 、查出分区空间使用率的最大百分比值   3 、查出用户UID 最大值的用户名、UID 及shell 类型 4 、查出/tmp 的权限,以数字方式显示   5 、统计当前连接本机的每个远程主机IP 的连接数,并按从大到小排序   &nb…

    Linux干货 2016-08-07
  • HTTP

    使用CentOS 7和CentOS 6实现以下任务 配置四个基于名称的虚拟主机;discuzXwordpressdrupal1.在conf.d下新建并编辑虚拟主机配置文件]# cd /etc/httpd/conf.d/]# vim vhost.confcentos6配置   [root@ _93_ conf.d]#&n…

    Linux干货 2016-10-12
  • Linux磁盘管理高级

    Linux磁盘管理高级 LVM Btrsh LVM 逻辑卷管理(LVM)指系统将物理卷管理抽象成一个逻辑卷,包括重新设定文件系统的大小,LVM可以弹性的更改LVM的容量,通过交换PE来进行资料的转换,将原来LV内的PE转移到其他的设备中以降低LV的容量,或将其他设备中的PE加到LV中以加大容量。 LVM还有快照的功能,快照区与原本的LV共用很多PE的区块,因…

    Linux干货 2016-09-09
  • 创建用户、用户组

    创建用户、用户组                  1解释Linux的安全模型   2解释用户帐号和组群帐号的目的   3用户和组管理命令   4理解并设置文件权限 5默认权限 6特殊权限 …

    Linux干货 2016-08-08
  • N22-第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # declare -i count1=0 declare -i count2=0 for i in $(awk -F : '{print $7}&#03…

    Linux干货 2016-10-17