SQL - 删除字段末尾的双分号
SQL - Remove double semicolons at the end of field
我们正在使用 Amazon-Redshift(符合 PostgreSQL 的语法),我们在 table
中有以下字符串
"TOTO;"
"TOTO;;"
"TOTO;;;"
"TOTO;;;;"
我想'rtrim'双分号。所以我想要
"TOTO;"
"TOTO"
"TOTO;"
"TOTO"
怎么做?
使用 regexp_replace
函数和 (;;)*$
正则表达式(任意数量的 ;;
后跟行尾):
SELECT regexp_replace(';;test;;;', '(;;)*$'), regexp_replace(';;test;;;;', '(;;)*$');
┌────────────────┬────────────────┐
│ regexp_replace │ regexp_replace │
├────────────────┼────────────────┤
│ ;;test; │ ;;test │
└────────────────┴────────────────┘
(1 row)
select replace('TODO;;;',';;','')
如果我做出了错误的假设,请发表评论,我会重新调整我的回答。
我们正在使用 Amazon-Redshift(符合 PostgreSQL 的语法),我们在 table
中有以下字符串"TOTO;"
"TOTO;;"
"TOTO;;;"
"TOTO;;;;"
我想'rtrim'双分号。所以我想要
"TOTO;"
"TOTO"
"TOTO;"
"TOTO"
怎么做?
使用 regexp_replace
函数和 (;;)*$
正则表达式(任意数量的 ;;
后跟行尾):
SELECT regexp_replace(';;test;;;', '(;;)*$'), regexp_replace(';;test;;;;', '(;;)*$');
┌────────────────┬────────────────┐
│ regexp_replace │ regexp_replace │
├────────────────┼────────────────┤
│ ;;test; │ ;;test │
└────────────────┴────────────────┘
(1 row)
select replace('TODO;;;',';;','')
如果我做出了错误的假设,请发表评论,我会重新调整我的回答。