我有一个查询,我正在检查结果是否为空白(''而不是 NULL),如果不是,那么我想在结果前面加上一些文本。
这是查询...
SELECT *,
CASE my_col
WHEN ''
THEN ''
ELSE 'Blah blah ' + my_col
END AS my_col2
FROM table_name
我回来的错误看起来像这样......
ORA-00905: missing keyword
我敢肯定,简单的解决方案,但有什么想法吗?
我有一个查询,我正在检查结果是否为空白(''而不是 NULL),如果不是,那么我想在结果前面加上一些文本。
这是查询...
SELECT *,
CASE my_col
WHEN ''
THEN ''
ELSE 'Blah blah ' + my_col
END AS my_col2
FROM table_name
我回来的错误看起来像这样......
ORA-00905: missing keyword
我敢肯定,简单的解决方案,但有什么想法吗?
连接字符串 -||
在甲骨文世界中'' is null
= 真
在 oracle 中,空字符串为空,因此条件WHEN ''
永远不会为真。你需要检查NULL
SELECT table_name.*,
CASE
WHEN my_col IS NULL THEN ''
ELSE 'Blah blah ' || my_col
END AS my_col2
FROM table_name
+
不会在甲骨文中工作。使用 ||。也尝试列出所有列而不是 *
SELECT *,
CASE my_col
WHEN ''
THEN ''
ELSE 'Blah blah ' || my_col
END AS my_col2
FROM table_name