原始格式:

123-456-7890


我的目标格式:

(123)456-7890


我想走在子字符串之间串联的路线,但是我不断地被标记为错误。我不确定要实现格式化的更好方法。

我的查询:

select || '(' || substr(telephone,0, 3)|| ')' ||
substr(telephone,4, 3)|| ' '||
substr(telephone,7, 4)) as telephone,
from book;


我目前的错误:

"missing expression"

最佳答案

SELECT的末尾有一个额外的悬挂圆括号,并且前面还有一个悬挂的串联运算符||。试试这个:

SELECT '(' || SUBSTR(telephone, 0, 3) || ')' ||
    SUBSTR(telephone, 4, 3) || ' ' || SUBSTR(telephone, 7, 4) AS telephone
FROM book


更新:

您应该真正使用此查询,因为事实证明您在形成所需的输出时也遇到了问题:

SELECT '(' || SUBSTR(telephone, 1, 3) || ')' || SUBSTR(telephone, 5, 8) AS telephone
FROM book

关于sql - Oracle SQL在电话号码中插入括号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35193454/

10-13 05:32