sql - 在 SQL 中将 9999999999 显示为 9-999-99999-9

标签 sql database oracle substr

我正在尝试将 VARCHAR 格式的列 9999999999 显示为 9-999-99999-9。 我知道 TO_CHAR 和 TO_NUMBER 不会起作用,而且我知道我应该使用 SUBSTR 来执行此操作。

如果我能够将多个 SUBSTR 函数作为一列一起使用,我觉得我可以完成这项工作,例如:

SELECT SUBSTR(column, 0, 1) - SUBSTR(column, 1, 3) 等,但这也不起作用。

非常感谢任何指导。

最佳答案

您可以使用正则表达式搜索和替换

select regexp_replace('9999999999','(.)(...)(.....)(.)','\1-\2-\3-\4') from dual;

关于sql - 在 SQL 中将 9999999999 显示为 9-999-99999-9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12029880/

相关文章:

sql - SQL ORA-00933命令未正确结束

php - Importbuddy 内部 500 服务器错误步骤 3

mysql - 在sql中查找期间的计数

python - 我如何使用 Django objects.filter 执行此操作?

php - 预订系统 php mysql

oracle - PLS-00103在CASE中遇到符号 “”错误

sql - Oracle数据库搜索所有表中的字符串,返回行数据

c# - 为MySQL中的所有列创建索引

mysql - 基本 MySQL 选择查询

c# - 如何在 Oracle PL/SQL 中传递逗号分隔的字符串并遍历它以执行查询?