【发布时间】:2013-04-08 08:16:43
【问题描述】:
我想要一个 SELECT 语句,如果数据库没有返回任何行,它将返回指定的默认值。
我们可以使用 UNION 来得到想要的结果,比如这个问题:“How to set a default row for a query that returns no rows?”,但这会给出一个额外的结果行。
示例:
SELECT a
from TBL_TEST
UNION
SELECT 0
FROM DUAL
有没有更好的方法或标准的 SQL 方法可以跨多个数据库引擎移植?
【问题讨论】:
-
真正的 RDBMS 是什么?全部?
-
是的,我使用 mysql、oracle 和 sql server :)
-
这个问题看起来很相似:stackoverflow.com/questions/285666/…
-
解决方案仍然是使用 UNION,所以当我在 select 语句中有很多列时,我认为它会导致性能不佳:)
标签: mysql sql sql-server oracle db2