Snowflake SQL - 将 Phone 数字格式化为 9 位数字

Snowflake SQL - Format Phone Number to 9 digits

我在 varchar 中有一个包含 phone 个数字的列,目前看起来像这样。因为没有统一的格式,我觉得substring行不通。

(956) 444-3399 964-293-4321 (929)293-1234 (919)2991234

如何在 Snowflake 中删除所有括号、空格和破折号并只查询 return 数字?期望的输出:

9564443399 9642934321 9292931234 9192991234

您可以使用regexp_replace()函数来实现:

REGEXP_REPLACE(yourcolumn, '[^0-9]','')

这将去除任何 non-numeric 个字符。

您可以使用 regexp_replace 删除所有特殊字符

像这样

select regexp_replace('(956) 444-3399', '[\(\) -]', '')

使用 translate 的替代方法。 Documentation

 select translate('(956) 444-3399', '() -', '')