Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SQL Select CASE-WHEN-如何从电话号码中删除格式_Java_Mysql_Eclipse - Fatal编程技术网

Java SQL Select CASE-WHEN-如何从电话号码中删除格式

Java SQL Select CASE-WHEN-如何从电话号码中删除格式,java,mysql,eclipse,Java,Mysql,Eclipse,我有一个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 我只想返

我有一个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 8.0,您可以使用
regexp\u replace()


请用您正在运行的数据库(和版本)标记您的问题:mysql、oracle、sqlserver。。。?字符串函数是高度特定于数据库的。对于国际号码,您需要使用
REPLACE()
函数将不需要的字符转换为空字符串。如果您的数据库引擎支持
REPLACE_REGEX()
类型的功能,您将能够在一次调用中删除所有不需要的字符。顺便说一句,我正在使用MySQL@DavidS.:
选择field1、field2、regexp_REPLACE(电话号码,[^0-9],'')清除电话号码、大小写meta值当。。。然后。。。从…
结束,多亏了我的主机提供商,我似乎被MySQL 5.7困住了。我看不出在哪里实现或支持REGEXP_REPLACE。谢谢大家!
regexp_replace(phone_number, '[^0-9]', '') clean_phone_number