转换要在Teradata子句中使用的字符串

转换要在Teradata子句中使用的字符串,teradata,Teradata,我有一根类似“汽车、公共汽车、火车”的绳子 我想将其转换为在in子句中使用。基本上我想把它转换成 “汽车”、“公共汽车”、“火车”。我不知道您是如何获得这样的数据的,但是如果您无法控制,您可以使用 自行运行,这将为您提供: outkey tokennum resultstring 1 1 car 1 2 bus 1 3 train 您可以将其用作派生表,并将其连接到要筛选的表。比如: sel

我有一根类似“汽车、公共汽车、火车”的绳子 我想将其转换为在in子句中使用。基本上我想把它转换成
“汽车”、“公共汽车”、“火车”。我不知道您是如何获得这样的数据的,但是如果您无法控制,您可以使用

自行运行,这将为您提供:

outkey  tokennum    resultstring
1       1           car
1       2           bus
1       3           train
您可以将其用作派生表,并将其连接到要筛选的表。比如:

select
<your table>.*
from
<your table>
inner join (select t.* from table (strtok_split_to_table(1,'car, bus, train',',')
returns (outkey integer,tokennum integer,resultstring varchar(25))) as t) dt
on yourtable.yourcolumn = dt.resultstring

下面是将输入拆分为n个逗号和use IN子句的另一种方法

选择regexp_substr'car,bus,train','[^,]+',1,day_of_日历字段 从sys_calendar.calendar
日历上的哪一天谢谢你
select
<your table>.*
from
<your table>
inner join (select t.* from table (strtok_split_to_table(1,'car, bus, train',',')
returns (outkey integer,tokennum integer,resultstring varchar(25))) as t) dt
on yourtable.yourcolumn = dt.resultstring