携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第9天,点击查看活动详情
get_json_string(VARCHAR json_str, VARCHAR json_path)
解析并获取 json 字符串内指定路径的字符串内容。 其中 json_path 必须以 $ 符号作为开头,使用 . 作为路径分割符。如果路径中包含 . ,则可以使用双引号包围。 使用 [ ] 表示数组下标,从 0 开始。 path 的内容不能包含 ", [ 和 ]。 如果 json_string 格式不对,或 json_path 格式不对,或无法找到匹配项,则返回 NULL
| 获取 key 为 "k1" 的 value |
|---|
| SELECT get_json_string ( '{"k1":"v1", "k2":"v2"}' , "$.k1" ); |
| 获取 key 为 "my.key" 的数组中第二个元素 |
| SELECT get_json_string ( '{"k1":"v1", "my.key":["e1", "e2", "e3"]}' , '$."my.key"[1]' ); |
| 获取二级路径为 k1.key -> k2 的数组中,第一个元素 |
| SELECT get_json_string ( '{"k1.key":{"k2":["v1", "v2"]}}' , '$."k1.key".k2[0]' ); |
| 获取数组中,key 为 "k1" 的所有 value |
| SELECT get_json_string ( '[{"k1":"v1"}, {"k2":"v2"}, {"k1":"v3"}, {"k1":"v4"}]' , '$.k1' ); |
group_concat(VARCHAR str[, VARCHAR sep])
该函数是类似于 sum() 的聚合函数,group_concat 将结果集中的多行结果连接成一个字符串。第二个参数 sep 为字符串之间的连接符号,该参数可以省略。该函数通常需要和 group by 语句一起使用。
| select value from test **;**select group_concat ( value ) from test **;**select group_concat ( value , " " ) from test ; |
|---|
instr(VARCHAR str, VARCHAR substr)
返回 substr 在 str 中第一次出现的位置(从1开始计数)。如果 substr 不在 str 中出现,则返回0。
| select instr ( "abc" , "b" );**** |
|---|
| select instr ( "abc" , "d" ); |
lcase(VARCHAR str)
与lower一致
left(VARCHAR str)
它返回具有指定长度的字符串的左边部分, 长度的单位为utf8字符
| select left ( "Hello doris" , 5 );**** |
|---|
length(VARCHAR str)
返回字符串的字节。
| select length ( "abc" );**** |
|---|
| select length ( "中国" ); |
locate(VARCHAR substr, VARCHAR str[, INT pos])
返回 substr 在 str 中出现的位置(从1开始计数)。如果指定第3个参数 pos,则从 str 以 pos 下标开始的字符串处开始查找 substr 出现的位置。如果没有找到,返回0
| SELECT LOCATE ( 'bar' , 'foobarbar' );**** |
|---|
| SELECT LOCATE ( 'xbar' , 'foobar' ); |
| SELECT LOCATE ( 'bar' , 'foobarbar' , 5 ); |
lower(VARCHAR str)
将参数中所有的字符串都转换成小写
| SELECT lower ( "AbC123" );**** |
|---|
lpad(VARCHAR str, INT len, VARCHAR pad)
返回 str 中长度为 len(从首字母开始算起)的字符串。如果 len 大于 str 的长度,则在 str 的前面不断补充 pad 字符,直到该字符串的长度达到 len 为止。如果 len 小于 str 的长度,该函数相当于截断 str 字符串,只返回长度为 len 的字符串。len 指的是字符长度而不是字节长度。
| SELECT lpad ( "hi" , 5 , "xy" );**** |
|---|
| SELECT lpad ( "hi" , 1 , "xy" ); |