語法
VARCHAR JSON_VALUE(VARCHAR content, VARCHAR path)
入參
- content
VARCHAR類型,需要解析的JSON對象,使用字符串表示。
- path
VARCHAR類型,解析JSON的路徑表達式。 目前path支持如下表達式。
符號 功能 $ 根對象 [] 數組下標 * 數組通配符 . 取子元素
功能描述
從JSON字符串中提取指定path的值,不合法的JSON和null都統一返回null。
示例
- 測試數據
id(INT) json(VARCHAR) path1(VARCHAR) 1 [10, 20, [30, 40]] $[2][*] 2 {"aaa":"bbb","ccc":{"ddd":"eee","fff":"ggg","hhh":["h0","h1","h2"]},"iii":"jjj"} $.ccc.hhh[*] 3 {"aaa":"bbb","ccc":{"ddd":"eee","fff":"ggg",hhh":["h0","h1","h2"]},"iii":"jjj"} $.ccc.hhh[1] 4 [10, 20, [30, 40]] NULL 5 NULL $[2][*] 6 "{xx]" "$[2][*]" - 測試語句
SELECT id, JSON_VALUE(json, path1) AS `value` FROM T1;
- 測試結果
id (INT) value (VARCHAR) 1 [30,40] 2 ["h0","h1","h2"] 3 H1 4 NULL 5 NULL 6 NULL
語法
VARCHAR CHR(INT ascii)
入參
參數 | 數據類型 | 說明 |
---|---|---|
ascii |
INT | 是0到255之間的整數。如果不在此范圍內,則返回NULL。 |
功能描述
將ASCII碼轉換為字符。
示例
- 測試數據
int1(INT) int2(INT) int3(INT) 255 97 65 - 測試語句
SELECT CHR(int1) as var1, CHR(int2) as var2, CHR(int3) as var3 FROM T1;
- 測試結果
var1(VARCHAR) var2(VARCHAR) var3(VARCHAR) ÿ a A
語法
VARCHAR CONCAT(VARCHAR var1, VARCHAR var2, ...)
入參
參數 | 數據類型 | 說明 |
---|---|---|
var1 | VARCHAR | 普通字符串值 |
var2 | VARCHAR | 普通字符串值 |
功能描述
連接兩個或多個字符串值從而組成一個新的字符串。如果任一參數為NULL時,則跳過該參數。
示例
- 測試數據
var1(VARCHAR) var2(VARCHAR) var3(VARCHAR) Hello My World Hello null World null null World null null null - 測試語句
SELECT CONCAT(var1, var2, var3) as var FROM T1;
- 測試結果
var(VARCHAR) HelloMyWorld HelloWorld World N/A
語法
VARCHAR CONCAT_WS(VARCHAR separator, VARCHAR var1, VARCHAR var2, ...)
入參
參數 | 數據類型 | 說明 |
---|---|---|
separator | VARCHAR | 分隔符 |
var1 | VARCHAR | - |
var2 | VARCHAR | - |
功能描述
將每個參數值和第一個參數separator指定的分隔符依次連接到一起組成新的字符串,長度和類型取決於輸入值。
說明 如果separator取值為null,則將separator視作與空串進行拼接。如果其它參數為NULL,在執行拼接過程中跳過取值為NULL的參數。
示例
- 測試數據
sep(VARCHAR) str1(VARCHAR) str2(VARCHAR) str3(VARCHAR) | Jack Harry John null Jack Harry John | null Harry John | Jack null null - 測試語句
SELECT CONCAT_WS(sep, str1, str2, str3) as var FROM T1;
- 測試結果
var(VARCHAR) Jack|Harry|John JackHarryJohn Harry|John Jack
語法
VARCHAR LPAD(VARCHAR str, INT len, VARCHAR pad)
入參
參數 | 數據類型 | 說明 |
---|---|---|
str | VARCHAR | 啟始的字符串。 |
len | INT | 新的字符串的長度。 |
pad | VARCHAR | 需要重復補充的字符串。 |
功能描述
字符串str左端填充若干個字符串pad,直到新的字符串達到指定長度len為止。
任意參數為null時返回null。
len
為負數時返回為null。
pad
為空串時,如果len
不大於str
長度,返回str
裁剪后的結果。如果len
大於str
長度時,則返回null。
示例
-
測試數據
str(VARCHAR) len(INT) pad(VARCHAR) 空 -2 空 HelloWorld 15 John John 2 C C 4 HelloWorld null 2 C c 2 null asd 2 空 空 2 s asd 4 空 空 0 空 -
測試語句
SELECT LPAD(str, len, pad) AS result FROM T1;
- 測試結果
result(VARCHAR) null JohnJHelloWorld Jo HelC null null as ss null 空
語法
VARCHAR RPAD(VARCHAR str, INT len, VARCHAR pad)
入參
參數 | 數據類型 | 說明 |
---|---|---|
str | VARCHAR | 啟始的字符串。 |
len | INT | 新的字符串的長度。 |
pad | VARCHAR | 需要重復補充的字符串。 |
功能描述
字符串str右端填充若干個字符串pad,直到新的字符串達到指定長度
len
為止。
- 如果任意參數為null時,則返回null。
- 如果
len
長度為負數時,則返回null。 - 當
pad
為空串,如果len
不大於str
長度時,則返回str
裁剪后的結果。 - 如果
len
大於str
長度,則返回null。
示例
- 測試數據
str(VARCHAR) len(INT) pad(VARCHAR) 空 -2 空 HelloWorld 15 John John 2 C C 4 HelloWorld null 2 C c 2 null asd 2 空 空 2 s asd 4 空 空 0 空 - 測試語句
SELECT RPAD(str, len, pad) as result FROM T1;
- 測試結果
result(VARCHAR) null HelloWorldJohnJ Jo CHel null null as ss null 空