在带空格的列的SQL输出中添加双引号

时间:2020-03-20 06:20:02

标签: sql oracle

假设我有三列Person_Number,姓名和地址。现在,如果特定字段中有空格,则需要添加双引号。

这怎么办?

谢谢 湿婆

1 个答案:

答案 0 :(得分:3)

您可以使用INSTRCASE语句,如下所示:

SELECT
    CASE
        WHEN INSTR(YOUR_COLUMN, ' ') > 0 
        THEN '"'
              || YOUR_COLUMN
              || '"'
        ELSE YOUR_COLUMN
    END
FROM YOUR_TABLE;

如果要更新表,则可以使用以下查询:

UPDATE YOUR_TABLE
SET Person_Number = CASE WHEN INSTR(Person_Number,' ')>0
                         THEN '"' || Person_Number || '"' 
                         ELSE Person_Number 
                    END,
    Name = CASE WHEN INSTR(Name,' ')>0 
                THEN '"' || Name || '"' 
                ELSE Name 
           END,
    Address = CASE WHEN INSTR(Address,' ')>0 
                   THEN '"' || Address || '"' 
                   ELSE Address 
              END
WHERE INSTR(Person_Number,' ')>0 
   OR INSTR(Name,' ')>0 
   OR INSTR(Address,' ')>0;

干杯!

相关问题