【问题标题】:How to remove space from phone number (SQL)如何从电话号码中删除空格(SQL)
【发布时间】:2020-10-07 22:39:47
【问题描述】:

我有以下格式的电话号码: 03 12345678 和 0412 3456789

我需要删除数字中的空格,以便加入另一个数字格式为 0312345679 和 04123456789 的表格。我不想更新表格。

我已尝试对家庭号码格式运行以下查询,但始终出现错误:

SELECT 
REPLACE(p.Home_Phone_Num, ' ', '') AS Home_Num
FROM table

错误:

语法错误:预期在“SELECT”关键字和“REPLACE”关键字之间存在某些内容。

谢谢

【问题讨论】:

  • 用您正在使用的数据库标记您的问题。尝试将SELECT nad REPLACE() 放在同一行。

标签: sql string select teradata teradata-sql-assistant


【解决方案1】:

这看起来像是一条 Teradata 错误消息。此数据库没有replace() 函数 - 相反,您需要oreplace()

select oreplace(p.Home_Phone_Num, ' ', '') as Home_Num from mytable

【讨论】:

  • 是的,我正在使用 Teradata SQL 助手。谢谢,这已经解决了!
【解决方案2】:

要删除单个字符,不需要 oReplace,请改用 oTranslate:

oTranslate (p.Home_Phone_Num, ' ', '') AS Home_Num

这也可能会替换其他字符

oTranslate (p.Home_Phone_Num, ' -/()', '') AS Home_Num

【讨论】:

  • 我很少使用其中任何一个。为什么 oTranslate 在这里更好?
  • @Andrew:因为它完全是为用另一个字符替换字符或删除它们而设计的。很多人只知道REPLACE,然后开始使用嵌套的REPLACE :-)
猜你喜欢
  • 2020-09-07
  • 1970-01-01
  • 2021-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多