携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第8天,点击查看活动详情
concat(VARCHAR,...)
将多个字符串连接起来, 如果参数中任意一个值是 NULL,那么返回的结果就是 NULL
| select concat ( "a" , "b" **);**select concat ( "a" , "b" , "c" );select concat ( "a" , null , "c" ); |
|---|
concat_ws(VARCHAR sep, VARCHAR str,...)
使用第一个参数 sep 作为连接符,将第二个参数以及后续所有参数拼接成一个字符串. 如果分隔符是 NULL,返回 NULL。 concat_ws函数不会跳过空字符串,会跳过 NULL 值
| select concat_ws ( "or" , "d" , "is" **);**select concat_ws ( NULL , "d" , "is" );select concat_ws ( "or" , "d" , NULL , "is" ); |
|---|
ENDS_WITH (VARCHAR str, VARCHAR suffix)
如果字符串以指定后缀结尾,返回true。否则,返回false。任意参数为NULL,返回NULL。
| select ends_with ( "Hello doris" , "doris" **);**select ends_with ( "Hello doris" , "Hello" ); |
|---|
find_in_set(VARCHAR str, VARCHAR strlist)
返回 strlist 中第一次出现 str 的位置(从1开始计数)。strlist 是用逗号分隔的字符串。如果没有找到,返回0。任意参数为 NULL ,返回 NULL。
| select find_in_set ( "b" , "a,b,c" );**** |
|---|
get_json_double(VARCHAR json_str, VARCHAR json_path)
解析并获取 json 字符串内指定路径的浮点型内容。 其中 json_path 必须以 $ 符号作为开头,使用 . 作为路径分割符。如果路径中包含 . ,则可以使用双引号包围。 使用 [ ] 表示数组下标,从 0 开始。 path 的内容不能包含 ", [ 和 ]。 如果 json_string 格式不对,或 json_path 格式不对,或无法找到匹配项,则返回 NULL。
| 获取 key 为 "k1" 的 value |
|---|
| SELECT get_json_double ( '{"k1":1.3, "k2":"2"}' , "$.k1" );**** |
| 获取 key 为 "my.key" 的数组中第二个元素 |
| SELECT get_json_double ( '{"k1":"v1", "my.key":[1.1, 2.2, 3.3]}' , '$."my.key"[1]' ); |
| 获取二级路径为 k1.key -> k2 的数组中,第一个元素 |
| SELECT get_json_double ( '{"k1.key":{"k2":[1.1, 2.2]}}' , '$."k1.key".k2[0]' ); |
get_json_int(VARCHAR json_str, VARCHAR json_path)
解析并获取 json 字符串内指定路径的整型内容。 其中 json_path 必须以 $ 符号作为开头,使用 . 作为路径分割符。如果路径中包含 . ,则可以使用双引号包围。 使用 [ ] 表示数组下标,从 0 开始。 path 的内容不能包含 ", [ 和 ]。 如果 json_string 格式不对,或 json_path 格式不对,或无法找到匹配项,则返回 NULL
| 获取 key 为 "k1" 的 value |
|---|
| SELECT get_json_int ( '{"k1":1, "k2":"2"}' , "$.k1" ); |
| 获取 key 为 "my.key" 的数组中第二个元素 |
| SELECT get_json_int ( '{"k1":"v1", "my.key":[1, 2, 3]}' , '$."my.key"[1]' ); |
| 获取二级路径为 k1.key -> k2 的数组中,第一个元素 |
| SELECT get_json_int ( '{"k1.key":{"k2":[1, 2]}}' , '$."k1.key".k2[0]' ); |