【Teradata SQL】字符串分割函數STRTOK和STRTOK_SPLIT_TO_TABLE


STRTOK函數:

 按照指定分隔符,將字符串分割成多個部分,返回指定部分字符串。

參數說明:

(1)instring:字符串或字符串表達式。

(2)delimiter:分隔符列表,字符串每個字符都會做為分隔符,如果不指定則默認使用空格做分隔符。

(3)tokennum:返回分隔的第幾部分,默認第一部分。

 返回值:

找到則返回對應的字符串,找不到則返回NULL。

 示例說明:

CREATE TABLE t (id INTEGER, str VARCHAR(256));
INSERT INTO t VALUES (1,'Teradata-Warehouse 13.10 - Combine 2 powerful forms of business intelligence (BI).');
INSERT INTO t VALUES (2,'http://www.teradata.com/');
INSERT INTO t VALUES (3,'G001|EDW-PDM-T01');
INSERT INTO t VALUES (4,'G002!EDW-PDM-T02');
SELECT id, str,STRTOK(t.str, '|!', 2) FROM t order by 1;

SELECT id, str,STRTOK(t.str, '/ -', 3) FROM t order by 1; //分隔符有三個,斜線、空格和橫桿

 

STRTOK_SPLIT_TO_TABLE函數

按照指定分隔符,將字符串分割成多個部分,返回分割字符串列表。

示例:

CREATE TABLE t (id integer, str varchar(256)character set unicode);
INSERT INTO t VALUES (1,'Teradata-Warehouse 13.10 - Combine 2 powerful forms of business intelligence (BI).');
insert into t values (2,'http://www.teradata.com/');
SELECT d.* FROM TABLE (strtok_split_to_table(t.id, t.str, ' -/')
RETURNS (outkey integer, tokennum integer, token varchar(20)character set
unicode) ) as d order by 1,2;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM