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

TERADATA - How to split a character column and keep the last token?

我有一个 table 文章名称,我想 select table.

每篇文章的最后一个字

现在我正在 SAS 中进行,我的代码如下所示:

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

我知道 TERADATA 中的 STRTOK 函数,但它似乎只接受正值作为索引,在我的例子中,文章名称没有固定的单词数。

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

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

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