注意:MySQL中,字符串的位置是从1开始的。
-
ASCII(S)
返回字符串S中的第一个字符的ASCII码值.
与第一个字符后面的其他字符无关。
SELECT
ASCII('Abcdfsf')
FROM DUAL;
-
CHAR_LENGTH(s)
返回字符串s的字符数。作用与CHARACTER_LENGTH(s)相同。
SELECT
CHAR_LENGTH('hello'),
CHAR_LENGTH('我们')
FROM DUAL;
-
LENGTH(s)
返回字符串s的字节数,和字符集有关
utf-8 中每个中文字符占三个字节
SELECT
LENGTH('hello'),
LENGTH('我们')
FROM DUAL;
-
CONCAT(s1,s2,…,sn)
连接s1,s2,…,sn为一个字符串
SELECT
CONCAT('zs',' worked for ','ls')
FROM DUAL;
-
CONCAT_WS(x, s1,s2,…,sn)
同CONCAT(s1,s2,…)函数,但是每个字符串之间要加上x
SELECT
concat_ws('---', 'zs', 'ls', 'ww')
FROM DUAL;
-
INSERT(str, idx, len, replacestr)
将字符串str从第idx位置开始,len个字符长的子串替换为字符串replacestr
注意:MySQL中,字符串的位置是从1开始的。
SELECT
INSERT('helloworld',2,3,'aaaaa')
FROM DUAL;
-
REPLACE(str, a, b)
用字符串b替换字符串str中所有出现的字符串a
字符串str中不存在子字符串a,不进行替换。
-
UPPER(s) 或 UCASE(s)
将字符串s的所有字母转成大写字母
SELECT UPPER('HelLo'),UCASE('HelLo')
FROM DUAL;
-
LOWER(s) 或LCASE(s)
将字符串s的所有字母转成小写字母
SELECT LOWER('HelLo'),LCASE('HelLo')
FROM DUAL;
-
LEFT(str,n)
返回字符串str最左边的n个字符
返回字符串str最右边的n个字符
SELECT LEFT('hello',2),RIGHT('hello',3),RIGHT('hello',13)
FROM DUAL;
- LPAD(str, len, pad)
用字符串pad对str最左边进行填充,直到str的长度为len个字符
实现右对齐效果
- RPAD(str ,len, pad)
用字符串pad对str最右边进行填充,直到str的长度为len个字符
实现左对齐效果
SELECT LPAD('hello', 7,' '), LPAD('world', 7,' '), LPAD('aa', 7,' '),
RPAD('hello', 7,' '), RPAD('world', 7,' '), RPAD('aa', 7,' ')
FROM dual;
-
LTRIM(s)
去掉字符串s左侧的空格
去掉字符串s右侧的空格
-
TRIM(s)
去掉字符串s开始与结尾的空格
SELECT
' he l lo ',
CONCAT('*', LTRIM(' he l lo '), '*'),
CONCAT('*', RTRIM(' he l lo '), '*'),
CONCAT('*', TRIM(' he l lo '), '*')
FROM dual;