我正在进行Firebird SQL查询,其中column_type为 VARCHAR ,并且它与电话号码有关。查询正在我的 nodeJS 应用程序中执行。数据库的结果如下:
但我希望结果采用仅包含数字的格式。所以只有
123321232
格式可以接受。我希望结果由查询格式化,而不是在节点js中。我已经开始讨论关于 rtrim 的一些话题了,但现在它已经被修饰取代了哪个不允许这样做?作为数字类型进行转换可能是最终的失败。这里有什么有效的解决方案?
编辑:我发现了一些信息,但我仍然不确定这是否有效。查询:CASE
WHEN S.TELEFON SIMILAR TO '[0-9]+' THEN CAST(S.TELEFON AS INTEGER)
ELSE ''
END
AS PHONE
答案 0 :(得分:2)
我猜您可以使用REPLACE
函数将所有非数字替换为空字符串:
select
replace(
replace(
replace(S.TELEFON, ' ', ''), -- space
'-', ''),
'/', '') AS phone
from mytab S
它很丑陋,只有当你需要摆脱不同数量的不同角色(以及你事先知道的)时才有效。