暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PolarDB分布式版支持的字符串函数

酷数据库 2023-08-22
286

PolarDB分布式版支持如下字符串函数:

函数名描述示例
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 ", "Google ", "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("example.com", 1, 6, "runoob"); 

返回:

-- runoobe.com

LOCATE(s1,s)从字符串s中获取s1的开始位置
  • 获取st在字符串myteststring中的位置:

    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('a*b','*',1);

    返回:

    -- a

  • SUBSTRING_INDEX('a*b','*',-1);

    返回:

    -- b

  • SUBSTRING_INDEX(SUBSTRING_INDEX('a*b*c*d*e','*',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分布式版暂不支持如下字符串函数:

函数名描述
LOAD_FILE()加载文件
MATCH全文检索
SOUNDS LIKE同音字符串比较
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论