MySQL字符串函数的使用

MySQL字符串函数的使用

Posted by qin4zhang on November 23, 2019

注意

想法及时记录,实现可以待做。

MySQL函数的使用

本文记录工作中常使用到的MYSQL的函数,更多用法,可以参考MySQL文档

SUBSTRING_INDEX(str,delim,count)

分割字符串

参数解说 解释
str       需要拆分的字符串
delim    分隔符,通过某字符进行拆分
count    当 count 为正数,取第 n 个分隔符之前的所有字符; 当 count 为负数,取倒数第 n 个分隔符之后的所有字符。
mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);
        -> 'www.mysql'
mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2);
        -> 'mysql.com'

FIND_IN_SET(str,strlist)

第一个参数是需要查询的参数,第二个参数是以英文逗号分割的字符串,如果在字符串中存在查询的参数,则返回对应的下标,下标从1开始。

mysql> SELECT FIND_IN_SET('b','a,b,c,d');
        -> 2

CONCAT(str1,str2,…)

将参数全部连接成字符串,如果参数中有一个是 NULL,则整个拼接字符串就是NULL。默认是没有拼接分隔符。

mysql> SELECT CONCAT('My', 'S', 'QL');
        -> 'MySQL'
mysql> SELECT CONCAT('My', NULL, 'QL');
        -> NULL
mysql> SELECT CONCAT(14.3);
        -> '14.3'

CONCAT_WS(separator,str1,str2,…)

这个函数比上个CONCAT更加标准化,可以自定义拼接分隔符,如果分隔符是NULL,那么拼接的结果就是NULL。 并且拼接的参数如果有NULL,就忽略NULL,之拼接非NULL的参数。

mysql> SELECT CONCAT_WS(',','First name','Second name','Last Name');
        -> 'First name,Second name,Last Name'
mysql> SELECT CONCAT_WS(',','First name',NULL,'Last Name');
        -> 'First name,Last Name'

REPEAT(str,count)

将字符串str重复count次数;如果count小于1,则返回空字符串;如果str或者count为NULL,则返回NULL。

mysql> SELECT REPEAT('MySQL', 3);
        -> 'MySQLMySQLMySQL'

REPLACE(str,from_str,to_str)

在字符串str中出现的from_str都用to_str替换掉。在对字符串进行from_str匹配搜索的时候,是大小写敏感的。

mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');
        -> 'WwWwWw.mysql.com'

REVERSE(str)

将字符串进行翻转

mysql> SELECT REVERSE('abc');
        -> 'cba'