
云日志服務提供字符串函數,用于對字符類型的數據進行拼接、轉換、提取等操作
函數列表
云日志服務支持如下表格所示字符串函數
| 函數名稱 |
語法 | 說明 |
|---|---|---|
| chr函數 | chr(x) | 將ASCII碼轉換為字符。同char函數。 |
| char函數 | char(x) | 將ASCII碼轉換為字符。同chr函數。 |
| char_length函數 | char_length(x) | 計算字符串(字符)長度。計量單位為字符,不管漢字、數字、字母都算是一個字符 |
| concat函數 | concat(x, y, ...) | 將多個字符串拼接成一個字符串。 |
| ascii函數 | ascii(x) | 將字符轉換為ASCII 碼值。 |
| length函數 | length(x) | 計算字符串(字節)長度。計量單位為字節,比如UTF8編碼時,一個漢字為3個字節,數字或英文字母為1個字節 |
| lcase函數 | lcase(x) | 將字符串轉換為小寫。同lower函數。 |
| lower函數 | lower(x) | 將字符串轉換為小寫。同lcase函數。 |
| lpad函數 | lpad(x, length, pad_string) | 在字符串的開頭填充指定字符,直到指定長度后返回結果字符串。 |
| ltrim函數 | ltrim(x) | 刪除字符串開頭的空格。 |
| replace函數 | replace(x, sub_string, replace_string) | 將字符串中所匹配的字符替換為其他指定字符。 |
| reverse函數 | reverse(x) | 返回逆向順序的字符串。 |
| rpad函數 | rpad(x, length, pad_string) | 在字符串的尾部填充指定字符,直到指定長度后返回結果字符串。 |
| rtrim函數 | rtrim(x) | 刪除字符串中結尾的空格。 |
| split函數 | split(x, delimiter) | 使用指定的分隔符拆分字符串,并返回子串集合。 |
| substr函數 | substr(x, offset, length) | 提取字符串中指定位置的子串,并指定子串長度。同substring、mid函數 |
| substring函數 | substring(x, offset, length) | 提取字符串中指定位置的子串,并指定子串長度。同substr、mid函數 |
| trim函數 | trim(x) | 刪除字符串中開頭和結尾的空格。 |
| ucase函數 | ucase(x) | 將字符串轉換為大寫。同upper函數。 |
| upper函數 | upper(x) | 將字符串轉換為大寫。同ucase函數。 |
| to_base64函數 | to_base64(x) | 將二進制類型的數據編碼為BASE64編碼的字符串。 |
| from_base64函數 | from_base64(x) | 將BASE64編碼的字符串解碼為二進制類型的數據。 |
| instr函數 | instr(x, sub_string, pos) | 獲取子串第一次出現的位置。同position函數。 |
| locate函數 | locate(sub_string, x, pos) | 獲取子串第一次出現的位置。 |
| mid函數 | mid(x, offset, length) | 提取字符串中指定位置的子串,并指定子串長度。同substr、substring函數 |
| position函數 | position(x, sub_string, pos) | 獲取子串第一次出現的位置。同instr函數。 |
| repeat函數 | repeat(x, n) | 返回字符串x重復n次后的字符串。 |
| space函數 | space(length) | 返回指定長度的空格字符串 |
| unhex函數 | unhex(x) | 把十六進制格式的字符串轉化為原來的格式。 |
chr函數
將ASCII碼轉換為字符。同char函數。
語法
chr(x)
參數說明
| 參數名稱 | 說明 | 類型 | 是否必選 |
|---|---|---|---|
| x |
ASCII碼數字(0-255) | integer類型 | 是 |
返回值類型
string類型
示例
| 類型 |
示例 |
|---|---|
| 統計分析語句 |
SELECT chr(65) |
| 返回結果 |
A |
char_length函數
計算字符串(字符)長度;計量單位為字符,不管漢字、數字、字母都算是一個字符。
語法
char_length(x)
參數說明
| 參數名稱 | 說明 | 類型 | 是否必選 |
|---|---|---|---|
| x |
原始字符串 | string類型 | 是 |
返回值類型
integer類型
示例
| 類型 |
示例 |
|---|---|
| 統計分析語句 |
SELECT char_length('這有6個字符') |
| 返回結果 |
6 |
concat函數
將多個字符串拼接成一個字符串。
語法
concat(x,?y,?...)
參數說明
| 參數名稱 | 說明 | 類型 | 是否必選 |
|---|---|---|---|
| x |
待拼接字符串x | string類型 | 是 |
| y | 待拼接字符串y | string類型 | 是 |
返回值類型
string類型
示例
| 類型 |
示例 |
|---|---|
| 統計分析語句 |
SELECT concat('test', '-', 'link') |
| 返回結果 |
test-link |
ascii函數
將字符轉換為ASCII 碼值。
語法
ascii(x)
參數說明
| 參數名稱 | 說明 | 類型 | 是否必選 |
|---|---|---|---|
| x |
原始字符串 | char類型 | 是 |
返回值類型
integer類型
示例
| 類型 |
示例 |
|---|---|
| 統計分析語句 |
SELECT ascii('a') |
| 返回結果 |
97 |
length函數
計算字符串(字節)長度;計量單位為字節,比如UTF8編碼時,一個漢字為3個字節,數字或英文字母為1個字節。
語法
length(x)
參數說明
| 參數名稱 | 說明 | 類型 | 是否必選 |
|---|---|---|---|
| x |
原始字符串 | string類型 | 是 |
返回值類型
integer類型
示例
| 類型 |
示例 |
|---|---|
| 統計分析語句 |
SELECT length('這有17個字節') |
| 返回結果 |
17 |
lcase函數
將字符串轉換為小寫。同lower函數。
語法
lcase(x)
參數說明
| 參數名稱 | 說明 | 類型 | 是否必選 |
|---|---|---|---|
| x |
原始字符串 | string類型 | 是 |
返回值類型
string類型
示例
| 類型 |
示例 |
|---|---|
| 統計分析語句 |
SELECT lcase('Error') |
| 返回結果 |
error |
lpad函數
在字符串的開頭填充指定字符,直到指定長度后返回結果字符串。
語法
lpad(x,?length,?pad_string)
參數說明
| 參數名稱 | 說明 | 類型 | 是否必選 |
|---|---|---|---|
| x |
原始字符串 | string類型 | 是 |
| length | 結果字符串長度 | integer類型 | 是 |
| pad_string |
填充字符串 |
string類型 | 是 |
返回值類型
string類型
示例
| 類型 |
示例 |
|---|---|
| 統計分析語句 |
SELECT lpad('hello world', 20, '012') |
| 返回結果 |
012012012hello world |
ltrim函數
刪除字符串開頭的空格。
語法
ltrim(x)
參數說明
| 參數名稱 | 說明 | 類型 | 是否必選 |
|---|---|---|---|
| x |
原始字符串 | string類型 | 是 |
返回值類型
string類型
示例
| 類型 |
示例 |
|---|---|
| 統計分析語句 |
SELECT ltrim(' world') |
| 返回結果 |
world |
replace函數
將字符串中所匹配的字符替換為其他指定字符。
語法
replace(x,?sub_string,?replace_string)
參數說明
| 參數名稱 | 說明 | 類型 | 是否必選 |
|---|---|---|---|
| x |
原始字符串 | string類型 | 是 |
| sub_string |
子串 | string類型 | 是 |
| replace_string |
替換字符串 |
string類型 | 是 |
返回值類型
string類型
示例
| 類型 |
示例 |
|---|---|
| 統計分析語句 |
SELECT replace('hello world', 'world', 'ctyun') |
| 返回結果 |
hello ctyun |
reverse函數
返回逆向順序的字符串。
語法
reverse(x)
參數說明
| 參數名稱 | 說明 | 類型 | 是否必選 |
|---|---|---|---|
| x |
原始字符串 | string類型 | 是 |
返回值類型
string類型
示例
| 類型 |
示例 |
|---|---|
| 統計分析語句 |
SELECT reverse('hello world') |
| 返回結果 |
dlrow olleh |
rpad函數
在字符串的尾部填充指定字符,直到指定長度后返回結果字符串。
語法
rpad(x,?length,?pad_string)
參數說明
| 參數名稱 | 說明 | 類型 | 是否必選 |
|---|---|---|---|
| x |
原始字符串 | string類型 | 是 |
| length | 結果字符串長度 | integer類型 | 是 |
| pad_string |
填充字符串 |
string類型 | 是 |
返回值類型
string類型
示例
| 類型 |
示例 |
|---|---|
| 統計分析語句 |
SELECT rpad('hello world', 20, '~') |
| 返回結果 |
hello world~~~~~~~~~ |
rtrim函數
刪除字符串中結尾的空格。
語法
rtrim(x)
參數說明
| 參數名稱 | 說明 | 類型 | 是否必選 |
|---|---|---|---|
| x |
原始字符串 | string類型 | 是 |
返回值類型
string類型
示例
| 類型 |
示例 |
|---|---|
| 統計分析語句 |
SELECT rtrim('hello world ') |
| 返回結果 |
hello world |
split函數
使用指定的分隔符拆分字符串,并返回子串集合。
語法
split(x,?delimiter)
參數說明
| 參數名稱 | 說明 | 類型 | 是否必選 |
|---|---|---|---|
| x |
原始字符串 | string類型 | 是 |
| delimiter |
分割符 | string類型 | 是 |
返回值類型
數組類型
示例
| 類型 |
示例 |
|---|---|
| 統計分析語句 |
SELECT split('hello world', ' ') |
| 返回結果 |
["hello","world"] |
substr函數
提取字符串中指定位置的子串,并指定子串長度。同substring、mid函數。
語法
substr(x,?offset,?length)
參數說明
| 參數名稱 | 說明 | 類型 | 是否必選 |
|---|---|---|---|
| x |
原始字符串 | string類型 | 是 |
| offset | 開始提取的偏移量 | integer類型 | 是 |
| length | 長度 |
integer類型 | 否 |
返回值類型
string類型
示例
| 類型 |
示例 |
|---|---|
| 統計分析語句 |
SELECT substr('hello world', 3, 5) |
| 返回結果 |
llo w |
trim函數
刪除字符串中開頭和結尾的空格。
語法
trim(x)
參數說明
| 參數名稱 | 說明 | 類型 | 是否必選 |
|---|---|---|---|
| x |
原始字符串 | string類型 | 是 |
返回值類型
string類型
示例
| 類型 |
示例 |
|---|---|
| 統計分析語句 |
SELECT trim(' hello world ') |
| 返回結果 |
hello world |
ucase函數
將字符串轉換為大寫。同upper函數。
語法
ucase(x)
參數說明
| 參數名稱 | 說明 | 類型 | 是否必選 |
|---|---|---|---|
| x |
原始字符串 | string類型 | 是 |
返回值類型
string類型
示例
| 類型 |
示例 |
|---|---|
| 統計分析語句 |
SELECT ucase('Error') |
| 返回結果 |
ERROR |
to_base64函數
將二進制類型的數據編碼為BASE64編碼的字符串。
語法
to_base64(x)
參數說明
| 參數名稱 | 說明 | 類型 | 是否必選 |
|---|---|---|---|
| x |
原始數據 | 二進制類型 | 是 |
返回值類型
string類型
示例
| 類型 |
示例 |
|---|---|
| 統計分析語句 |
SELECT to_base64('hello world') |
| 返回結果 |
aGVsbG8gd29ybGQ= |
from_base64函數
將BASE64編碼的字符串解碼為二進制類型的數據。
語法
from_base64(x)
參數說明
| 參數名稱 | 說明 | 類型 | 是否必選 |
|---|---|---|---|
| x |
BASE64編碼后字符串 | string類型 | 是 |
返回值類型
二進制類型
示例
| 類型 |
示例 |
|---|---|
| 統計分析語句 |
SELECT from_base64('Y3R5dW4gd2VsY29tZXMgeW91') |
| 返回結果 |
ctyun welcomes you |
instr函數
獲取子串第一次出現的位置。
語法
instr(x,?sub_string,?pos)
參數說明
| 參數名稱 | 說明 | 類型 | 是否必選 |
|---|---|---|---|
| x |
原始字符串 | string類型 | 是 |
| sub_string | 子字符串 |
string類型 | 是 |
| pos | 從原始字符串開始查找的位置 | integer類型 | 否 |
返回值類型
integer類型
示例
| 類型 |
示例 |
|---|---|
| 統計分析語句 |
SELECT instr('hello world', 'l', 5) |
| 返回結果 |
10 |
locate函數
獲取子串第一次出現的位置。
語法
locate(sub_string,?x,?pos)
參數說明
| 參數名稱 | 說明 | 類型 | 是否必選 |
|---|---|---|---|
| sub_string | 子字符串 | string類型 | 是 |
| x |
原始字符串 |
string類型 | 是 |
| pos | 從源串開始查找的位置 | integer類型 | 否 |
返回值類型
integer類型
示例
| 類型 |
示例 |
|---|---|
| 統計分析語句 |
SELECT locate('o', 'hello world', 6) |
| 返回結果 |
8 |
repeat函數
返回字符串x重復n次后的字符串。
語法
repeat(x,?n)
參數說明
| 參數名稱 | 說明 | 類型 | 是否必選 |
|---|---|---|---|
| x |
原始字符串 |
string類型 | 是 |
| n | 重復次數 | integer類型 | 是 |
返回值類型
string類型
示例
| 類型 |
示例 |
|---|---|
| 統計分析語句 |
SELECT repeat('ha ', 3) |
| 返回結果 |
ha ha ha |
space函數
返回字符串x重復n次后的字符串。
語法
space(x,?n)
參數說明
| 參數名稱 | 說明 | 類型 | 是否必選 |
|---|---|---|---|
| x |
原始字符串 |
string類型 | 是 |
| n | 重復次數 | integer類型 | 是 |
返回值類型
string類型
示例
| 類型 |
示例 |
|---|---|
| 統計分析語句 |
SELECT concat(' |
| 返回結果 |
~ ~ |
unhex函數
把十六進制格式的字符串轉化為原來的格式。
語法
unhex(x)
參數說明
| 參數名稱 | 說明 | 類型 | 是否必選 |
|---|---|---|---|
| x |
十六進制編碼后的字符串 | string類型 | 是 |
返回值類型
二進制類型
示例
| 類型 |
示例 |
|---|---|
| 統計分析語句 |
SELECT unhex('68656C6C6F20637479756E') |
| 返回結果 |
hello ctyun |