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



我是第一次使用oracle sql开发人员。我想创建一个视图,其中两列表组合并用斜杠分隔。我已经在 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 使用标准的 || 运算符进行字符串连接,而不是+

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

不必强制转换为字符串。 甲骨文将自动执行此操作。 如果这样做,TO_CHAR() 是 Oracle 中更口语化的方法,因为它允许您控制数字和日期的格式。

我不明白+的目的,所以我删除了它。 也许你想要abs()

最新更新