【发布时间】:2021-02-06 15:26:34
【问题描述】:
我有一个 SQL Select 语句,它从多个字段创建一个表。我正在使用 CASE/WHEN 更改一些值,但我不知道如何格式化结果。
SELECT DISTINCT field1, field2, field3, field4,
CASE meta_value WHEN 'male' then 'M' WHEN 'female' THEN 'F' etc.
返回的电话号码可能有我想删除的其他字符,即:
(404) 202-2039
404-202-2039
1-404-202-2039
我只想返回不带空格或其他字符、连字符、括号等的数字:
4042022039
关于如何最好地做到这一点的任何想法?
【问题讨论】:
-
请用您正在运行的数据库(和版本)标记您的问题:mysql、oracle、sqlserver...?字符串函数是高度特定于数据库的。
-
没有
+国际号码+44 (0)123 456 789? -
您需要
REPLACE()函数将不需要的字符转换为空字符串。如果您的数据库引擎支持REPLACE_REGEX()类型的功能,您将能够在一次调用中删除所有不需要的字符。 -
我正在使用 MySQL 顺便说一句。