我有一个查询,我在检查结果是否为空(''而不是NULL),如果不是,那么我想在结果前添加一些文字。
这是查询...
SELECT *,
CASE my_col
WHEN ''
THEN ''
ELSE 'Blah blah ' + my_col
END AS my_col2
FROM table_name
我回来的错误看起来像这样......
ORA-00905: missing keyword
简单的解决方案我确定,但有任何想法吗?
答案 0 :(得分:3)
concat string - ||
在oracle world '' is null
= true
答案 1 :(得分:3)
在oracle中,空字符串为null,因此条件WHEN ''
永远不会为真。您需要检查NULL
SELECT table_name.*,
CASE
WHEN my_col IS NULL THEN ''
ELSE 'Blah blah ' || my_col
END AS my_col2
FROM table_name
答案 2 :(得分:0)
+
在Oracle中不起作用。使用||。同时尝试列出*
SELECT *,
CASE my_col
WHEN ''
THEN ''
ELSE 'Blah blah ' || my_col
END AS my_col2
FROM table_name