SQL-在场末端卸下双分号



我们使用的是Amazon-Redshift(PostgreSQL兼容语法),我们在表中有以下字符串

"TOTO;"
"TOTO;;"
"TOTO;;;"
"TOTO;;;;"

我想'rtrim'双分号。所以我想拥有

"TOTO;"
"TOTO"
"TOTO;"
"TOTO"

如何做?

使用regexp_replace函数与(;;)*$ REGEX(;;的任何数量,然后是线路结束):

SELECT regexp_replace(';;test;;;', '(;;)*$'), regexp_replace(';;test;;;;', '(;;)*$');
┌────────────────┬────────────────┐
│ regexp_replace │ regexp_replace │
├────────────────┼────────────────┤
│ ;;test;        │ ;;test         │
└────────────────┴────────────────┘
(1 row)
select replace('TODO;;;',';;','')

如果我做了一个不好的假设,请评论,我会重点关注我的答案。

最新更新