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;
此处的正则表达式将获取列表的最后一个元素,其中列表以逗号分隔。
我有一个 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;
此处的正则表达式将获取列表的最后一个元素,其中列表以逗号分隔。