合并表的两列,并将其作为由字符分隔的单列返回

时间:2019-05-29 14:06:22

标签: sql oracle

我第一次使用oracle sql developer。我想创建一个视图,其中表的两列以斜杠组合和分隔。 我已经在ssms中完成了此操作,但是当我为sql dev写相同的代码时,它会返回诸如“指定的数字无效”之类的问题。

SELECT ID AS W_ID, CAST(data1 AS VARCHAR)+' - '+data2 AS W_CODE, +data3 AS W_TEXT
FROM table1
WHERE data3=1;

如何在Oracle中翻译此查询?

1 个答案:

答案 0 :(得分:1)

Oracle使用标准||运算符进行字符串连接,而不使用+

SELECT ID AS W_ID,
       (data1 ||  ' - ' || data2) AS W_CODE,
      data3 AS W_TEXT
FROM table1
WHERE data3 = 1;

铸造为字符串是不必要的。 Oracle将自动执行该操作。如果这样做,TO_CHAR()是Oracle中比较通俗的方法,因为它使您可以控制数字和日期的格式。

我不了解+的用途,因此我将其删除。也许您想要abs()