注意
想法及时记录,实现可以待做。
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'