一、说明
MaxCompute SQL中使用字符串函数对指定字符串进行灵活处理。
二、MaxCompute SQL支持的字符串函数
函数 功能
ASCII 返回字符串的第一个字符的ASCII码。
CHAR_MATCHCOUNT 计算A字符串出现在B字符串中的字符个数。
CHR 将指定ASCII码转换成字符。
CONCAT 将字符串连接在一起。
CONCAT_WS 将参数中的所有字符串按照指定的分隔符连接在一起。
ENCODE 将字符串按照指定编码格式编码。
FIND_IN_SET 在以逗号分隔的字符串中查找指定字符串的位置。
FORMAT_NUMBER 将数字转化为指定格式的字符串。
FROM_JSON 根据给定的JSON字符串和输出格式信息,返回ARRAY、MAP或STRUCT类型。
GET_JSON_OBJECT 在一个标准JSON字符串中,按照指定方式抽取指定的字符串。
INSTR 计算A字符串在B字符串中的位置。
IS_ENCODING 判断字符串是否可以从指定的A字符集转换为B字符集。
KEYVALUE 将字符串拆分为Key-Value对,并将Key-Value对分开,返回Key对应的Value。
KEYVALUE_TUPLE 将字符串拆分为多个Key-Value对,并将Key-Value对分开,返回多个Key对应的Value。
LENGTH 计算字符串的长度。
LENGTHB 计算字符串以字节为单位的长度。
LOCATE 在字符串中查找另一指定字符串的位置。
LTRIM 去除字符串的左端字符。
MD5 计算字符串的MD5值。
PARSE_URL 对URL进行解析返回指定部分的信息。
PARSE_URL_TUPLE 对URL进行解析返回多个部分的信息。
REGEXP_COUNT 计算字符串从指定位置开始,匹配指定规则的子串数。
REGEXP_EXTRACT 将字符串按照指定规则拆分为组后,返回指定组的字符串。
REGEXP_INSTR 返回字符串从指定位置开始,与指定规则匹配指定次数的子串的起始或结束位置。
REGEXP_REPLACE 将字符串中,与指定规则在指定次数匹配的子串替换为另一字符串。
REGEXP_SUBSTR 返回字符串中,从指定位置开始,与指定规则匹配指定次数的子串。
REPEAT 返回将字符串重复指定次数后的结果。
REVERSE 返回倒序字符串。
RTRIM 去除字符串的右端字符。
SPACE 生成空格字符串。
SPLIT_PART 按照分隔符拆分字符串,返回指定部分的子串。
SUBSTR 返回STRING类型字符串从指定位置开始,指定长度的子串。
SUBSTRING 返回STRING或BINARY类型字符串从指定位置开始,指定长度的子串。
TO_CHAR 将BOOLEAN、BIGINT、DECIMAL或DOUBLE类型值转为对应的STRING类型表示。
TO_JSON 将指定的复杂类型输出为JSON字符串。
TOLOWER 将字符串中的英文字符转换为小写形式。
TOUPPER 将字符串中的英文字符转换为大写形式。
TRIM 去除字符串的左右两端字符。
URL_DECODE 将字符串编码为application/x-www-form-urlencoded MIME格式。
URL_ENCODE 将字符串从application/x-www-form-urlencoded MIME格式转为常规字符。
JSON_TUPLE 在一个标准的JSON字符串中,按照输入的一组键抽取各个键指定的字符串。
LPAD 将字符串向左补足到指定位数。
RPAD 将字符串向右补足到指定位数。
REPLACE 将字符串中与指定字符串匹配的子串替换为另一字符串。
SOUNDEX 将普通字符串替换为SOUNDEX字符串。
SUBSTRING_INDEX 截取字符串指定分隔符前的字符串。
TRANSLATE 将A出现在B中的字符串替换为C字符串。
三、注意事项
升级到MaxCompute 2.0后,产品扩展了部分函数。如果您用到的函数涉及新数据类型(TINYINT、SMALLINT、INT、FLOAT、VARCHAR、TIMESTAMP或BINARY),在使用扩展函数时,需要执行如下语句开启新数据类型开关:
Session级别:如果使用新数据类型,您需要在SQL语句前加上语句set odps.sql.type.system.odps2=true;,并与SQL语句一起提交执行。
Project级别:Project Owner可根据需要对Project进行设置,等待10~15分钟后才会生效。命令如下。
setproject odps.sql.type.system.odps2=true;
参考:
https://help.aliyun.com/document_detail/48973.html