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;