Firebird 查询 - 仅限数字

Firebird query - numbers only

我正在做一个 Firebird SQL 查询,其中 column_type 是 VARCHAR 并且它是关于 phone 数字。查询正在我的 nodeJS 应用程序中执行。数据库的结果如下:

但我想要结果的格式只包含数字。所以只有

123321232

格式可以接受。我希望结果由查询格式化,而不是在节点 js 中。我已经阅读了一些关于 rtrim 的主题,但它现在被 trim 取代,这不允许这样做吗?转换为数字类型可能是最终的失败。什么是有效的解决方案?

编辑:我找到了一些信息,但我仍然不确定那是否有效。查询:

CASE 
  WHEN S.TELEFON SIMILAR TO '[0-9]+' THEN CAST(S.TELEFON AS INTEGER) 
  ELSE ''
  END
    AS PHONE

我想您可以使用 REPLACE 函数将所有非数字替换为空字符串:

select
  replace(
    replace(
      replace(S.TELEFON, ' ', ''), -- space
    '-', ''),
  '/', '') AS phone
from mytab S

它很丑陋,只有当你需要摆脱的不同角色数量有限(并且你事先知道)时才有效。