字符串函数

本文介绍了PolarDB-X支持及不支持的字符串函数。

支持函数

PolarDB-X支持如下字符串函数:

函数名 描述 示例
ASCII(s) 返回字符串s的第一个字符的ASCII码 返回CustomerName字段第一个字母的ASCII码: SELECT ASCII(CustomerName) AS NumCodeOfFirstChar FROM Customers;
CHAR_LENGTH(s) 返回字符串s的字符数 返回字符串RUNOOB的字符数: SELECT CHAR_LENGTH("RUNOOB") AS LengthOfString;
CHARACTER_LENGTH(s) 返回字符串s的字符数 返回字符串RUNOOB的字符数: SELECT CHARACTER_LENGTH("RUNOOB") AS LengthOfString;
CONCAT(s1,s2...sn) 字符串s1,s2等多个字符串合并为一个字符串 合并多个字符串: SELECT CONCAT("SQL ", "Runoob ", "Gooogle ", "Facebook") AS ConcatenatedString;
CONCAT_WS(x, s1,s2...sn) 同CONCAT(s1,s2,...)函数,但是每个字符串之间要加上x,x可以是分隔符 合并多个字符串,并添加分隔符: SELECT CONCAT_WS("-", "SQL", "Tutorial", "is", "fun!") AS ConcatenatedString;
FIELD(s,s1,s2...) 返回第一个字符串s在字符串列表(s1,s2...)中的位置 返回字符串c在列表值中的位置: SELECT FIELD("c", "a", "b", "c", "d", "e");
FIND_IN_SET(s1,s2) 返回在字符串s2中与s1匹配的字符串的位置 返回字符串c在指定字符串中的位置: SELECT FIND_IN_SET("c", "a,b,c,d,e");
FORMAT(x,n) 函数可以将数字x进行格式化"#,###.##", 将x保留到小数点后n位,最后一位四舍五入。 格式化数字"#,###.##"形式: SELECT FORMAT(250500.5634, 2); 返回: -- 250,500.56
INSERT(s1,x,len,s2) 字符串s2替换s1的x位置开始长度为len的字符串 从字符串第一个位置开始的6个字符替换为 runoob: SELECT INSERT("google.com", 1, 6, "runoob"); 返回: -- runoob.com
LOCATE(s1,s) 从字符串s中获取s1的开始位置 获取b在字符串abc中的位置:SELECT LOCATE('st','myteststring'); 返回: -- 5 返回字符串abc中b的位置:SELECT LOCATE('b', 'abc'); 返回: -- 2
LCASE(s) 将字符串s的所有字母变成小写字母 字符串RUNOOB转换为小写: SELECT LCASE('RUNOOB'); 返回: -- runoob
LEFT(s,n) 返回字符串s的前n个字符 返回字符串runoob中的前两个字符: SELECT LEFT('runoob',2); 返回: -- ru
LOWER(s) 将字符串s的所有字母变成小写字母 字符串RUNOOB转换为小写: SELECT LOWER('RUNOOB'); -- runoob
LPAD(s1,len,s2) 在字符串s1的开始处填充字符串s2,使字符串长度达到len 将字符串xx填充到abc字符串的开始处: SELECT LPAD('abc',5,'xx') 返回: -- xxabc
LTRIM(s) 去掉字符串s开始处的空格 去掉字符串RUNOOB开始处的空格: SELECT LTRIM("RUNOOB") AS LeftTrimmedString; 返回: -- RUNOOB
MID(s,n,len) 从字符串s的n位置截取长度为len的子字符串,同SUBSTRING(s,n,len) 从字符串RUNOOB中的第2个位置截取3个 字符: SELECT MID("RUNOOB", 2, 3) AS ExtractString; 返回: -- UNO
POSITION(s1 IN s) 从字符串s中获取s1的开始位置 返回字符串abc中b的位置: SELECT POSITION('b' in 'abc'); 返回: -- 2
REPEAT(s,n) 将字符串s重复n次 将字符串runoob重复三次: SELECT REPEAT('runoob',3; 返回: -- runoobrunoobrunoob
REPLACE(s,s1,s2) 将字符串s2替代字符串s中的字符串s1 将字符串abc中的字符a替换为字符x: SELECT REPLACE('abc','a','x'); 返回: --xbc
REVERSE(s) 将字符串s的顺序反过来 将字符串abc的顺序反过来: SELECT REVERSE('abc'); 返回: -- cba
RIGHT(s,n) 返回字符串s的后n个字符 返回字符串runoob的后两个字符: SELECT RIGHT('runoob',2); 返回: -- ob
RPAD(s1,len,s2) 在字符串s1的结尾处添加字符串s2,使字符串的长度达到len 将字符串xx填充到abc字符串的结尾处: SELECT RPAD('abc',5,'xx'); 返回: -- abcxx
RTRIM(s) 去掉字符串s结尾处的空格 去掉字符串RUNOOB的末尾空格: SELECT RTRIM("RUNOOB") AS RightTrimmedString; 返回: -- RUNOOB
SPACE(n) 返回n个空格 返回10个空格: SELECT SPACE(10);
STRCMP(s1,s2) 比较字符串s1和s2,如果s1与s2相等返回0 ,如果s1>s2返回1,如果s1\<s2,返回-1 比较字符串: SELECT STRCMP("runoob", "runoob"); 返回: -- 0
SUBSTR(s, start, length) 从字符串s的start位置截取长度为length的子字符串 从字符串RUNOOB中的第2个位置截取3个 字符: SELECT SUBSTR("RUNOOB", 2, 3) AS ExtractString; 返回: -- UNO
SUBSTRING(s, start, length) 从字符串s的start位置截取长度为length的子字符串 从字符串RUNOOB中的第2个位置截取3个 字符: SELECT SUBSTRING("RUNOOB", 2, 3) AS ExtractString; 返回: -- UNO
SUBSTRING_INDEX(s, delimiter, number) 返回从字符串s的第number个出现的分隔符delimiter之后的子串。 如果number是正数,返回第number个字符左边的字符串。 如果number是负数,返回第(number的绝对值(从右边数))个字符右边的字符串。 `SELECT SUBSTRING_INDEX('ab','',1);返回:-- a` SUBSTRING_INDEX('a*b','*',-1); 返回: -- b `SUBSTRING_INDEX(SUBSTRING_INDEX('abcde','',3),'*',-1);返回:-- c`
TRIM(s) 去掉字符串s开始和结尾处的空格 去掉字符串RUNOOB的首尾空格: SELECT TRIM('RUNOOB') AS TrimmedString;
UCASE(s) 将字符串转换为大写 将字符串runoob转换为大写: SELECT UCASE("runoob"); 返回: -- RUNOOB
UPPER(s) 将字符串转换为大写 将字符串runoob转换为大写: SELECT UPPER("runoob"); 返回: -- RUNOOB

不支持函数

与MySQL5.7相比,PolarDB-X暂不支持如下字符串函数:

函数名 描述
LOAD_FILE() 加载文件
MATCH 全文检索
SOUNDS LIKE 同音字符串比较

results matching ""

    No results matching ""