【发布时间】:2018-02-11 17:36:09
【问题描述】:
我正在尝试使用正则表达式替换 Redshift 表中的模式。我一直在尝试REGEXP_RELACE,但到目前为止没有成功。
我的数据,列名为 sequence 和 varchar 数据类型,如下所示:
1420311 > 1380566 > 1380566 > 9991380564
1489773 > 9991489773
1367309 > 1367309 > 9991367309
我想在 SQL Redshift 中使用REGEXP_RELACE(或任何其他函数)来获得以下结果:
1420311 > 1380566 > 1380566 > 1380564 > 999
1489773 > 1489773 > 999
1367309 > 1367309 > 1367309 > 999
也就是说,当 999 序列出现在字符串的开头时,将其放在最后一个 > 前面并保留剩余的字符串。
非常感谢任何帮助!
【问题讨论】:
-
我认为您的预期输出的第二行可能有错字。
-
您希望 999 跟随它所在的序列成员(在您的示例输入中恰好总是在末尾)还是希望它在最后(如果 999 是例如,在第一个序列成员中发现,这不在您的样本中)?
-
您想要显示结果的查询还是要更新数据库内容? (好问题,@TimBiegeleisen。)
标签: sql regex amazon-redshift regexp-replace