将具有由逗号分隔的多个值的字段拆分为teradata中的多个记录

时间:2016-08-09 07:26:30

标签: sql teradata

我有一个包含3个字段的表。所有都是varchar(256)。

例如:

Name :               Id:               Comment:
Charles        ["92736","387625"]       hello

我想要这样的输出:

Name :               Id:               Comment:
Charles             92736                hello
Charles             387625               hello

我运行的代码是:

SELECT name, STRTOK(id, ',', i) AS x, comment
FROM test
CROSS JOIN
 ( 
   SELECT day_of_calendar AS i
   FROM sys_calendar.CALENDAR
   WHERE i <= 15
 ) AS dt
WHERE x IS NOT NULL;

我得到的输出是:

Name :               Id:                  Comment:
Charles             ["92736"                hello
Charles             "387625"]               hello

我不想要输出中的[和“字符。我只想将数值作为数字。

对此有任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以添加其他拆分字符:

AFRAME.registerShader

另一种解决方案是避免交叉加入并转而使用STRTOK(id, ',["]', i)

STRTOK_SPLIT_TO_TABLE