一、常用函数
1.1 ASCII(str)
返回值为字符串str的最左字符的数值,即取得最左字符的ascii码。假如str为空字符串,则返回值为 0 。假如str 为null,则返回值为 null。
mysql> select ascii('a');
+--------------+
| ascii('a') |
+--------------+
| 97 |
+--------------+
1 row in set (0.00 sec)
1.2 CHAR()
将ASCII码转换为字符。如果没有输入0~255之间的ASCII码值,CHAR()返回NULL。
1.3 LOWER()和UPPER()
LOWER()将字符串全部转为小写;UPPER()将字符串全部转为大写。
1.4 STR()
把数值型数据转换为字符型数据。
STR(<float_expression>[length]
二、去空格函数
2.1 LTRIM()
把字符串头部的空格去掉。
2.2 RTRIM()
把字符串尾部的空格去掉。
三、取子串函数
3.1 left()
LEFT(<character_expression>,<integer_expression>)返回character_expression左起integer_expression个字符。
3.2 RIGHT()
RIGHT(<character_expression>,<integer_expression>)返回character_expression右起integer_expression个字符。
3.3 SUBSTRING()
SUBSTRING(
3.4 SUBSTRING_INDEX()
select SUBSTRING_INDEX(SUBSTRING_INDEX('1086290887786995712_1086217687719845888_1086217427995959296_QU' ,'_',-3) ,'_',1);
四、字符串比较函数
4.1 CHARINDEX()
返回字符串中某个指定的子串出现的开始位置。
CHARINDEX(<'substring_expression'>,
4.2 PATINDEX()
返回字符串中某个指定的子串出现的开始位置。
PATINDEX(<'%substring_expression%'>,<column_name="">)其中子串表达式前后必须有百分号“%”否则返回值为0。与CHARINDEX函数不同的是,PATINDEX函数的子串中可以使用通配符,且此函数可用于CHAR、VARCHAR和TEXT数据类型。
五、字符串操作函数
5.1 QUOTENAME()
返回被特定字符括起来的字符串。QUOTENAME(<'character_expression'>[,quote_character])其中quote_character标明括字符串所用的字符,缺省值为“[]”。
5.2 REPLICATE()
返回一个重复character_expression指定次数的字符串。
REPLICATE(character_expression integer_expression)如果integer_expression值为负值,则返回NULL。
5.3 REVERSE()
将指定的字符串的字符排列顺序颠倒。
REVERSE(<character_expression>)其中character_expression可以是字符串、常数或一个列的值。
5.4 REPLACE()
返回被替换了指定子串的字符串。
REPLACE(<string_expression1>,<string_expression2>,<string_expression3>)用string_expression3替换在string_expression1中的子串string_expression2。
5.5 SPACE()
返回一个有指定长度的空白字符串。
SPACE(<integer_expression>)如果integer_expression值为负值,则返回NULL。
5.6 STUFF()
用另一子串替换字符串指定位置、长度的子串。
STUFF(<character_expression1>,<start_position="">,
如果起始位置为负或长度值为负,或者起始位置大于character_expression1的长度,则返回NULL值。
如果length长度大于character_expression1中start_position以右的长度,则character_expression1只保留首字符。