TERADATA - 如何拆分字符列并保留最后一个标记?

时间:2015-06-11 16:31:47

标签: sql substring token teradata strtok

我有一个包含文章名称的表格,我想选择表格中每篇文章的最后一个单词。

现在我在SAS中这样做,我的代码看起来像:

PROC SQL;
    CREATE TABLE last_word as
    SELECT scan(names,-1) as last_w
    FROM articles;
QUIT;

我知道TERADATA中的STRTOK功能,但它似乎只接受正值作为索引,在我的例子中,文章名称不具有恒定数量的单词。

1 个答案:

答案 0 :(得分:2)

您可以使用函数REGEXP_SUBSTR执行此操作:

CREATE TABLE last_word as
SELECT REGEXP_SUBSTR(names, '[^,]+$') as last_w
FROM articles;

此处的Regex将获取列表的最后一个元素,其中列表以逗号分隔。