如何从DB2表的列中除去“-”

时间:2019-05-21 14:40:05

标签: replace db2

如果Phone具有“ 918-435-0000”,并且想要删除“-”结果应为-9184350000,我可以使用位置4和8的子字符串吗?还是我应该使用替换功能?

在我的示例中,这里是特殊字符,例如-或+1(505)000-2798

1 个答案:

答案 0 :(得分:0)

您应该提供有关尝试的更多详细信息,而不是像its not working这样的语句。
以下内容对您有用吗?

with t(phone1) as (values
  '+1(505) 000-2798'
, '918-435-0000'
, '9184350000'
)
select phone1, REGEXP_REPLACE(phone1, '[^\d]', '') phone1_replaced
from t
where REGEXP_LIKE(phone1, '[^\d]');