本文為您介紹Hologres已支持的字符串函數及使用示例。
關于兼容PostgreSQL的字符串函數的詳細使用方法,請參見PostgreSQL函數。
類型 | 函數 | 功能 |
字符串拼接、拆分與填充 | 去除字符串兩端的指定字符。 | |
連接兩個或更多字符串值并返回一個連續字符串。 | ||
使用分隔符連接除第一個參數外的所有參數。 | ||
從字符串的起始位置開始,提取指定數量的字符。 | ||
將多行的同一列聚合為一個字符串。該函數是Oracle兼容函數,需要先安裝orafce擴展,具體請參見Oracle兼容函數。 | ||
在字符串的左側填充指定的字符,直到達到指定的總長度。 | ||
用于移除字符串左側(開頭)的特定字符。 | ||
對字符串按正則表達式進行匹配,如果存在則會在結果數組中表示出來。 | ||
在字符串的右側填充指定的字符,直到達到指定的總長度。 | ||
用于移除字符串右側(結尾)的特定字符。 | ||
移除字符串首部、尾部或者兩端的特定字符。 | ||
將多行的同一列聚合為一個字符串。 | ||
將字符串按照指定的分隔符進行分割,并返回分割后的第 | ||
連接兩個字符串。 | ||
支持獲取字符串中指定位置開始到字符串結束(或指定長度)的子字符串。 | ||
按照指定規則從目標字符串中獲取子字符串。 | ||
其他字符串函數 | 獲取字符串第一個字符的ASCII碼。 | |
獲取字符串的字符長度。 | ||
獲取指定編碼值對應的字符。 | ||
支持將每個單詞的第一個字母轉換為大寫,其余字母轉換為小寫。 | ||
支持在目標字符串指定區間獲取子字符串(substring)的位置,若獲取到則返回子字符串(substring)在字符串中位置,若沒有獲取到,則返回0。該函數是Oracle兼容函數,需要先安裝orafce擴展,具體請參見Oracle兼容函數。 | ||
獲取字符串的字節長度,使用UTF8編碼字符集時,一個漢字是3字節,一個數字或字母算一個字節。 | ||
支持將字符串轉換為小寫格式。 | ||
計算字符串的MD5哈希值。結果表示為十六進制的形式。 | ||
支持獲取字符串的字節數。 | ||
對字符串進行逆序。該函數是Oracle兼容函數,需要先安裝orafce擴展,具體請參見Oracle兼容函數。 | ||
查找子字符串在目標字符串中的位置。 | ||
用于解析一個符合SQL標識符規則的字符串。 | ||
使用字符串作為合法的SQL標識符。 | ||
將字符串轉換為合法的SQL語句字符串的常量形式。 | ||
按照設置的次數將字符串重復輸出。 | ||
支持將在源字符串中查找指定的子字符串,并將其替換為另一個指定的字符串 | ||
通過POSIX正則表達式將子字符串替換為新的子字符串。 | ||
字符串分割函數,按正則表達式對字符串進行分割并轉換成數組。 | ||
字符串分割函數,將分割出的數據轉換成行,可作為行轉列使用。 | ||
返回公式所在的行號,僅Hologres V1.3及以上版本支持該函數。 | ||
確認目標字符串是否以指定前綴開頭。 | ||
查找子字符串在目標字符串中的位置。 | ||
將數字轉換為十六進制的表示形式。 | ||
支持將字符串類型數據轉換為數值類型。 | ||
支持將字符串中的字符替換為指定字符。 | ||
支持將字符串轉換為大寫格式。 |
字符串拼接、拆分與填充
STRING || STRING
描述:連接兩個字符串。
<string_value1> TEXT || <string_value2> TEXT
參數說明
string_value1和string_value2:想要連接的字符串表達式。
返回值說明
返回TEXT類型。
示例
--返回結果:HologreSQL SELECT 'Holo' || 'greSQL';
CONCAT
描述:連接兩個或更多字符串值并返回一個連續字符串。
CONCAT(<str1> TEXT, <str2> TEXT, ..., <strN> TEXT)
參數說明
str1,...,strN
:這些參數代表想要連接的字符串。說明若參數中存在NULL,將被忽略。
返回值說明
返回TEXT類型。
示例
SELEC CONCAT('abcde', 2, NULL, 22);
返回結果如下。
concat --------- abcde222
CONCAT_WS
描述:使用分隔符連接除第一個參數外的所有參數。
CONCAT_WS(<sep> TEXT, str "any" [, str "any" [, ...] ])
說明any表示所有類型均支持。
參數說明
sep:必填,分隔符,插入到要連接的每個字符串之間。
說明若取值為NULL,該函數將返回NULL。
str:必填,要連接的字符串。
說明若參數中存在NULL,將被忽略。
返回值說明
返回TEXT類型。
示例
SELECT CONCAT_WS(',', 'abcde', 2, NULL, 22);
返回結果如下。
concat_ws ---------- abcde,2,22
LISTAGG
描述:將多行的同一列聚合為一個字符串。該函數是Oracle兼容函數,需要先安裝orafce擴展,具體請參見Oracle兼容函數。
LISTAGG(<str1> TEXT [, <str2> TEXT])
參數說明
str1:必填,要聚合的字符串表達式或列名。
str2:可選,分割符。
返回值說明
返回TEXT類型。
示例
示例1
--返回結果:hologres SELECT LISTAGG(t) FROM (VALUES('holo'), ('gres')) AS l(t);
示例2
--返回結果:holo.gres SELECT LISTAGG(t, '.') FROM (VALUES('holo'), ('gres')) AS l(t);
SUBSTRING
描述:按照指定規則從目標字符串中獲取子字符串。
從字符串中找出指定位置的子字符串。
SUBSTRING(<str> TEXT [FROM <num_start> INT] [FOR <num_end> INT])
從字符串中找出與POSIX正則表達式匹配的子字符串。
SUBSTRING(<str> TEXT FROM <pattern> TEXT)
從字符串中找出與SQL正則表達式匹配的子字符串。
SUBSTRING(<str> TEXT FROM <pattern> TEXT FOR <escape> TEXT )
參數說明
str:必填,目標字符串。
num_start和num_end:可選,起始和結束位置。
pattern:必填,正則表達式,用于定義如何匹配和提取字符串中的子串。
escape:必填,轉義字符。
說明在正則表達式中,某些字符如
.
、*
、+
等具有特殊意義。如果需要在文本中匹配這些字符本身,而不是它們的特殊含義,就需要在它們前面加上轉義字符。
返回值說明
返回TEXT類型。
示例
示例1:從字符串中找出指定位置的子字符串。
SELECT SUBSTRING('Thomas' FROM 2 FOR 3);
返回結果如下。
substring ---------- hom
示例2:從字符串中找出與POSIX正則表達式匹配的子字符串。
SELECT SUBSTRING('Thomas' FROM '...$');
返回結果如下。
substring ---------- mas
示例3:從字符串中找出與SQL正則表達式匹配的子字符串。
SELECT SUBSTRING('Thomas' FROM '%#"o_a#"_' FOR '#');
返回結果如下。
substring ---------- oma
REGEXP_MATCH
描述:對字符串按正則表達式進行匹配,如果存在則會在結果數組中表示出來。
REGEXP_MATCH(<str> TEXT, <pattern> TEXT)
參數說明
str:必填,待匹配的字符串。
pattern:必填,正則表達式。
返回值說明
返回ARRAY類型。
示例
SELECT regexp_match('foobarbequebaz', '(bar)(beque)');
返回結果如下。
regexp_match ------------ {bar,beque}
SUBSTR
描述
支持獲取字符串中指定位置開始到字符串結束的子字符串。該函數是Oracle兼容函數,需要先安裝orafce擴展,具體請參見Oracle兼容函數。
SUBSTR(<str> TEXT, <num_start> INTEGER)
參數說明:
str:必填,目標字符串。
num_start:指定開始獲取子字符串的位置。
支持從字符串的指定位置開始,獲取指定長度的子字符串。該函數是Oracle兼容函數,需要先安裝orafce擴展,具體請參見Oracle兼容函數。
SUBSTR(<str> TEXT, <num_start> INTEGER, <len> INTEGER)
參數說明:
str:必填,目標字符串。
num_start:指定開始獲取子字符串的位置。
len:獲取子字符串的長度。
返回值說明
返回TEXT類型。
示例
示例1:獲取從第4位開始到字符串結束的字符串。
--返回結果:ogres SELECT SUBSTR('Hologres', 4);
示例2:從第2位開始獲取5位字符。
--返回結果:ologr SELECT SUBSTR('Hologres', 2, 5);
SPLIT_PART
描述:將字符串按照指定的分隔符進行分割,并返回分割后的第
num
段。SPLIT_PART(<str> TEXT, <delimiter> TEXT, <num> INT)
參數說明
str:必填,待拆分的目標字符串。
delimiter:必填,用來進行分割的分隔符。
num:必填,整數值,分割后中獲取的部分,num的索引從1開始。
返回值說明
返回TEXT類型,若num超出了實際分割出的部分數量,將返回NULL。
示例
CREATE TABLE split_part_test ( a text ); INSERT INTO split_part_test VALUES ('a/b/c/d/e'), ('a1/b1/c1/d1/e1'); SELECT split_part(a, '/', 2) FROM split_part_test;
返回結果如下。
split_part ---------- b b1
STRING_AGG
描述:將多行的同一列聚合為一個字符串。
STRING_AGG(expression [ order_by_clause ] ) [ FILTER ( WHERE filter_clause ) ]
使用說明:僅Hologres V1.3及以上版本支持Filter過濾條件。
說明若需要使用此功能,您可以通過加入實時數倉Hologres交流群申請升級實例或實例升級,加群方式請參見如何獲取更多的在線支持?。
參數說明
expression:必填,待合并成字符串的表達式或列名。
order_by_clause:可選,在合并字符串之前,如何對expression中的值進行排序。如果不指定,數據庫可能會按照認為合適的方式排序。
FILTER ( WHERE filter_clause ):可選,指定一個條件來過濾參與聚合的行。
返回值說明
返回TEXT類型。
示例
示例1
CREATE TABLE city_test ( country text, city text ); INSERT INTO city_test VALUES ('中國', '上海'), ('中國', '臺灣'), ('日本', '東京'), ('法國', '巴黎'), ('英國', '倫敦'); SELECT STRING_AGG(city, ',') FROM city_test;
返回結果如下。
string_agg ------------------------ 上海,臺灣,東京,巴黎,倫敦
示例2
CREATE TABLE name_text ( student_id int, name text); INSERT INTO name_text VALUES ( 1, '張三'), ( 2, '李四'), ( 3, '王五'), ( 4, '周六' ); SELECT STRING_AGG(name, ',') FILTER (WHERE student_id > 2) FROM name_text;
返回結果如下。
string_agg ---------- 王五,周六
LEFT
描述:從字符串的起始位置開始,提取指定數量的字符。
LEFT(<str> TEXT, <num> INT)
參數說明
str:必填,目標字符串。
num:必填,整數值,表示從字符串的起始位置提取的字符數量。
num為負數時,返回除最后
-num
個字符之外的所有字符。
返回值說明
返回TEXT類型。
示例
SELECT LEFT('hologres', 4);
返回結果如下。
left ---- holo
RIGHT
描述:從字符串的末尾位置開始,提取指定數量的字符。
RIGHT(<str> TEXT, <num> INT)
參數說明
str:必填,目標字符串。
num:必填,整數值,表示從字符串的末尾位置提取的字符數量。
num為負數時,返回除前
-num
個字符之外的所有字符。
返回值說明
返回TEXT類型。
示例
SELECT RIGHT('hologres', 4);
返回結果如下。
right ---------- gres
TRIM
描述:移除字符串首部、尾部或者兩端的特定字符。
TRIM([leading | trailing | both] [<characters> TEXT] FROM STRING)
參數說明
移除位置,默認從兩端移除,參數說明如下:
leading:可選,僅從字符串的首部(左側)移除指定的字符。
trailing:可選,從字符串的尾部(右側)移除指定的字符。
both:可選,從字符串的兩端移除指定的字符。
characters:可選,要被移除的特定字符集。
string:必填,待移除的目標字符串。
返回值說明
返回TEXT類型。
示例
--返回結果:Tom select TRIM(BOTH 'xyz' FROM 'yxTomxx');
BTRIM
描述:去除字符串兩端的指定字符。
BTRIM(<str> TEXT [, <characters> TEXT])
參數說明
str:必填,目標字符串。
characters:可選,要在目標字符串兩端移除的字符集。
說明該參數是將字符集中的每個字符獨立進行匹配,并不是整體匹配。
如果沒有指定characters參數,characters參數默認為空格。
返回值說明
返回TEXT類型。
示例
--返回結果:trim SELECT BTRIM('xyxtrimyyx', 'xyz');
LTRIM
描述:用于移除字符串左側(開頭)的特定字符。
LTRIM(<str> TEXT [, <characters> TEXT])
參數說明
str:必填,目標字符串。
characters:可選,需要從目標字符串左側(開頭)移除的字符集。
說明該參數是將字符集中的每個字符獨立進行匹配,并不是整體匹配。
如果沒有指定characters參數,characters參數默認為空格。
返回值說明
返回TEXT類型。
示例
-- 返回結果:test SELECT LTRIM('zzzytest', 'xyz');
RTRIM
描述:用于移除字符串右側(結尾)的特定字符。
RTRIM(<str> TEXT [, <characters> TEXT])
參數說明
str:必填,目標字符串。
characters:可選,需要從目標字符串右側(結尾)移除的字符集,如果沒有指定characters參數,characters參數值默認為空格。
說明該參數是將字符集中的每個字符獨立進行匹配,并不是整體匹配。
返回值說明
返回TEXT類型。
示例
-- 返回結果:test SELECT RTRIM('testxxzx', 'xyz');
LPAD
描述:在字符串的左側填充指定的字符,直到達到指定的總長度。
LPAD(<str> TEXT, <length> INT [, <fill> TEXT])
參數說明
str:必填,目標字符串。
length:必填,結果字符串的總長度。
說明如果目標字符串的長度已經超過length,則從右側將目標字符串截斷為長度為length的字符串。
fill:可選,用于填充的字符,如果沒有指定fill的值,則默認為空格。
返回值說明
返回TEXT類型。
示例
--返回結果:xyxhi SELECT LPAD('hi', 5, 'xy');
RPAD
描述:在字符串的右側填充指定的字符,直到達到指定的總長度。
RPAD(<str> TEXT, <length> INT [, <fill> TEXT])
參數說明
str:必填,目標字符串。
length:必填,結果字符串的總長度。
說明如果目標字符串的長度已經超過length,則從右側將目標字符串截斷為長度為length的字符串。
fill:可選,用于填充的字符,如果沒有指定fill的值,則默認為空格。
返回值說明
返回TEXT類型。
示例
--返回結果 hixyx SELECT RPAD('hi', 5, 'xy');
其他字符串函數
TO_NUMBER
描述:支持將字符串類型數據轉換為數值類型。
TO_NUMBER(<str1> TEXT, <str2> TEXT)
參數說明
str1:待轉換的文本字符串。
str2:格式模型(format model),用于指定如何解析第一個參數中的文本以轉換為數值。
返回值說明
返回NUMERIC類型。
示例
--返回結果:-12454.8 SELECT TO_NUMBER('12,454.8-', '99G999D9S');
REPLACE
描述:支持將在源字符串中查找指定的子字符串,并將其替換為另一個指定的字符串。
REPLACE(<str> TEXT, <old_str> TEXT, <new_str> TEXT)
參數說明
str:必填,目標的字符串。
old_str:必填,目標字符串需要被替換的部分。
new_str:必填,被替換的新字符串。
返回值說明
返回TEXT類型。
示例
CREATE TABLE animal_test ( animal text, color text ); INSERT INTO animal_test VALUES ('狗', '白色'), ('貓', '白色'), ('老虎', '黃色'); SELECT animal, REPLACE(color, '白', '五彩斑斕') FROM animal_test;
返回結果如下。
animal | replace ------------------- 狗 | 五彩斑斕色 貓 | 五彩斑斕色 老虎 | 黃色
REGEXP_REPLACE
描述:通過POSIX正則表達式將子字符串替換為新的子字符串。
REGEXP_REPLACE(<str> TEXT, <regex> TEXT, <replacement> TEXT [, <flags> TEXT])
參數說明
str:必填,待替換的目標字符串。
regex:必填,正則表達式。
replacement:必填,用于替換匹配文本的字符串。
flags:可選,用于指定正則表達式的匹配標志。
返回值說明
返回TEXT類型。
示例
CREATE TABLE a_test ( a text ); INSERT INTO a_test VALUES ('Abcd1234abCd'); SELECT REGEXP_REPLACE(a, '1234.', '77', 'ig') FROM a_test;
返回結果如下。
regexp_replace -------------- Abcd77bCd
PLVSTR.RVRS
描述:對字符串進行逆序。該函數是Oracle兼容函數,需要先安裝orafce擴展,具體請參見Oracle兼容函數。
將字符串從指定開始到結束位置的字符串進行逆序。
PLVSTR.RVRS(<str> TEXT, <start> INTEGER, <end> INTEGER)
將字符串從指定位置開始到字符串結束進行逆序。
PLVSTR.RVRS(<str> TEXT, <start> INTEGER)
將整個字符串逆序。
PLVSTR.RVRS(<str> TEXT)
返回值說明
返回TEXT類型。
示例
示例1:將字符串從指定開始到結束位置的字符串進行逆序。
-- 返回結果:rg SELECT PLVSTR.RVRS('Hologres', 5,6);
示例2:將字符串從指定位置開始到字符串結束進行逆序。
-- 返回結果:sergo SELECT PLVSTR.RVRS('Hologres', 4);
示例3:將整個字符串逆序。
-- 返回結果:sergoloH SELECT PLVSTR.RVRS('Hologres');
CHAR_LENGTH
描述:獲取字符串的字符長度。
CHAR_LENGTH(<str> TEXT)
返回值說明
返回TEXT類型。
示例
--返回結果:4 SELECT CHAR_LENGTH('jose');
LENGTH
描述:獲取字符串的字節長度,使用UTF8編碼字符集時,一個漢字是3字節,一個數字或字母算一個字節。
LENGTH(<str> TEXT)
返回值說明
返回TEXT類型。
示例
--返回結果:4 SELECT LENGTH('jose');
說明由于英文字符的個數和所占字節相同,一個字符占一個字節,
LENGTH
函數的計算結果和CHAR_LENGTH
函數相同。
LOWER
描述:支持將字符串轉換為小寫格式。
LOWER(<str> TEXT)
返回值說明
返回TEXT類型。
示例
-- 返回結果:tom SELECT LOWER('TOM');
UPPER
描述:支持將字符串轉換為大寫格式。
UPPER(<str> TEXT)
返回值說明
返回TEXT類型。
示例
-- 返回結果:TOM SELECT UPPER('tom');
INITCAP
描述:支持將每個單詞的第一個字母轉換為大寫,其余字母轉換為小寫。
INITCAP(<str> TEXT)
說明單詞是由一系列字母和數字組成的字符,使用非字母或數字分隔。
返回值說明
返回TEXT類型。
示例
-- 返回結果:Hi Thomas SELECT INITCAP('hi THOMAS');
OCTET_LENGTH
描述:支持獲取字符串的字節數。
OCTET_LENGTH(<str> TEXT)
返回值說明
返回INT類型。
示例
--返回結果:4 SELECT OCTET_LENGTH('jose');
POSITION
描述:查找子字符串在目標字符串中的位置。
POSITION(<substr> TEXT IN <str> TEXT)
參數說明
substr:必填,子字符串。
str:目標字符串。
返回值說明
返回INT類型。
示例
--返回結果:3 SELECT POSITION('om' IN 'Thomas');
STRPOS
描述:查找子字符串在目標字符串中的位置。
STRPOS(<str> TEXT, <substr> TEXT)
參數說明
str:必填,目標字符串。
substr:必填,子字符串。
返回值說明
返回INT類型。
示例
--返回結果:2 SELECT STRPOS('high', 'ig');
INSTR
描述:支持在目標字符串指定區間獲取子字符串(substring)的位置,若獲取到則返回子字符串(substring)在字符串中位置,若沒有獲取到,則返回0。該函數是Oracle兼容函數,需要先安裝orafce擴展,具體請參見Oracle兼容函數。
INSTR(<str> TEXT, <patt> TEXT [, <start> INTEGER, <nth> INTEGER])
參數說明
str:必填,目標字符串。
patt :必填,待匹配的子字符串。
start:可選,匹配的起始位置,若未配置該參數,默認從頭開始匹配。
nth:可選,匹配第幾次出現的位置,若未配置該參數,默認是第一次出現的位置。
返回值說明
返回INT類型。
示例
示例1:
--返回結果:4 SELECT INSTR('Hologres', 'o',1,2);
示例2
--返回結果:2 SELECT INSTR('Hologres', 'o',1,1);
示例3
--返回結果:4 SELECT INSTR('Hologres', 'o',4);
示例4
--返回結果:2 SELECT INSTR('Hologres', 'o');
MD5
描述:計算字符串的MD5哈希值。結果表示為十六進制的形式。
MD5(<str> TEXT)
返回值說明
返回TEXT類型。
示例
--返回結果:900150983cd24fb0d6963f7d28e17f72 SELECT MD5('abc');
PARSE_IDENT
描述:用于解析一個符合SQL標識符規則的字符串。
PARSE_IDENT(<quali_iden> TEXT [,...] )
參數說明
parse_ident:必填,待解析的字符串,通常是一個數據庫對象的完全限定標識符。
返回值說明
返回TEXT類型。
示例
--返回結果:{"SomeSchema","sometable"} SELECT PARSE_IDENT('"SomeSchema".someTable');
QUOTE_IDENT
描述:使用字符串作為合法的SQL標識符。
QUOTE_IDENT(<str> TEXT)
說明當字符串包含非標識符字符或者字符串會轉換大小寫時,需要添加引號。
返回值說明
返回TEXT類型。
示例
--返回結果:"Foo bar" SELECT QUOTE_IDENT('Foo bar');
QUOTE_LITERAL
描述:將字符串轉換為合法的SQL語句字符串的常量形式。
QUOTE_LITERAL(<str> TEXT)
返回值說明
返回TEXT類型。
示例
--返回結果:'O''Reilly' SELECT QUOTE_LITERAL(E'O\'Reilly');
ASCII
描述:獲取字符串第一個字符的ASCII碼。
ASCII(<str> TEXT)
返回值說明
返回TEXT類型。
示例
--返回結果:120 SELECT ASCII('x');
CHR
描述:獲取指定編碼值對應的字符。
CHR(<num> INT)
返回值說明
返回TEXT類型。
示例
--返回結果:A SELECT CHR(65);
REPEAT
描述:按照設置的次數將字符串重復輸出。
REPEAT(<str> TEXT, <number> INT)
參數說明
str:必填,目標字符串。
number:必填,目標字符串重復的次數。
返回值說明
返回TEXT類型。
示例
--返回結果:PgPgPgPg SELECT REPEAT('Pg', 4);
STARTS_WITH
描述:確認目標字符串是否以指定前綴開頭。
STARTS_WITH(<str> TEXT, <prefix> TEXT)
參數說明
str:必填,目標字符串。
prefix:必填,前綴字符串。
返回值說明
返回BOOLEAN類型。若目標字符串是以prefix為前綴,若是則返回t(true),否則返回f(false)。
示例
--返回結果:t SELECT STARTS_WITH('alphabet', 'alph');
REGEXP_SPLIT_TO_TABLE
描述:字符串分割函數,將分割出的數據轉換成行,可作為行轉列使用。
REGEXP_SPLIT_TO_TABLE(<str> TEXT, <pattern> TEXT)
參數說明
str:必填,待分割的字符串。
pattern:必填,定義了如何分割字符串的正則表達式。正則表達式中的特殊字符和構造將用于識別字符串中需要作為分隔點的位置。
返回值說明
返回TEXT類型。
示例
CREATE TABLE interests_test ( name text, intrests text ); INSERT INTO interests_test VALUES ('張三', '唱歌,跳舞'), ('李四', '踢球,跑步,畫畫'), ('王五', '插花,書法,彈琴,睡覺'); SELECT name, REGEXP_SPLIT_TO_TABLE(intrests, ',') FROM interests_test;
返回結果如下。
name | regexp_split_to_table --------------------------- 張三 | 唱歌 張三 | 跳舞 李四 | 踢球 李四 | 跑步 李四 | 畫畫 王五 | 插花 王五 | 書法 王五 | 彈琴 王五 | 睡覺
REGEXP_SPLIT_TO_ARRAY
描述:字符串分割函數,按正則表達式對字符串進行分割并轉換成數組。
REGEXP_SPLIT_TO_ARRAY(<str> TEXT, <pattern> TEXT)
參數說明
str:必填,待分割的字符串。
pattern:必填,定義了如何分割字符串的正則表達式。正則表達式中的特殊字符和構造將用于識別字符串中需要作為分隔點的位置。
返回值說明
返回ARRAY類型。
示例
CREATE TABLE interests_test ( name text, intrests text ); INSERT INTO interests_test VALUES ('張三', '唱歌,跳舞'), ('李四', '踢球,跑步,畫畫'), ('王五', '插花,書法,彈琴,睡覺'); SELECT name, REGEXP_SPLIT_TO_ARRAY(intrests, ',') FROM interests_test;
返回結果如下。
name | regexp_split_to_array ---------------------------- 張三 | {唱歌,跳舞} 李四 | {踢球,跑步,畫畫} 王五 | {插花,書法,彈琴,睡覺}
TO_HEX
描述:將數字轉換為十六進制的表示形式。
TO_HEX(<number> INT OR BIGINT)
返回值說明
返回TEXT類型。
示例
--返回結果:7fffffff SELECT TO_HEX(2147483647);
TRANSLATE
描述:支持將字符串中的字符替換為指定字符。
TRANSLATE(<str> TEXT, FROM <substr> TEXT, TO <newstr> TEXT)
參數說明
str:必填,目標字符串。
substr:必填,目標字符串中被替換的子字符串。
newstr:必填,替換的新字符串。
返回值說明
返回TEXT類型。
示例
--返回結果:a2x5 SELECT TRANSLATE('12345', '143', 'ax');
ROW
描述:返回公式所在的行號。
ROW()
使用說明:僅Hologres V1.3及以上版本支持該函數。
說明若您Hologres實例的版本較低,請您使用實例升級或加入Hologres釘釘交流群反饋,詳情請參見如何獲取更多的在線支持?。
返回值說明
返回ARRAY或TEXT類型。
示例
CREATE TABLE row_test ( a text, b text ); INSERT INTO row_test VALUES ('0', '0'), ('1', '0'); SELECT a, b FROM row_test WHERE ROW (a, b) = ROW (b, a);
返回結果如下。
a | b ------ 0 | 0