Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql TERADATA-如何拆分字符列并保留最后一个标记?_Sql_Substring_Token_Teradata_Strtok - Fatal编程技术网

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

Sql TERADATA-如何拆分字符列并保留最后一个标记?,sql,substring,token,teradata,strtok,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函数,但它似乎只接受正值作为索引,在我的例子中,文章名称的字数不是恒定的。您可以使用函数REGEXP\u SUBSTR来执行此操作: CREA

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

现在,我正在SAS中执行此操作,我的代码如下所示:

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

我知道TERADATA中的STRTOK函数,但它似乎只接受正值作为索引,在我的例子中,文章名称的字数不是恒定的。

您可以使用函数
REGEXP\u SUBSTR
来执行此操作:

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

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

什么版本的Teradata?