6
我想在没有从查询中获得数据时显示默认消息。如何在查询中找不到匹配项时显示默认值?
例如 让我们来查询从员工
选择empname其中id = 100
如果没有数据这个搜索我想要得到Unavailable
结果或所需结果匹配应该显示。
那么我应该如何编写一个SQL查询来实现这一点。
我正在使用Oracle 10g。
我想在没有从查询中获得数据时显示默认消息。如何在查询中找不到匹配项时显示默认值?
例如 让我们来查询从员工
选择empname其中id = 100
如果没有数据这个搜索我想要得到Unavailable
结果或所需结果匹配应该显示。
那么我应该如何编写一个SQL查询来实现这一点。
我正在使用Oracle 10g。
SELECT COALESCE((SELECT empname FROM employee WHERE id = 100), 'Unavailable')
FROM DUAL;
你必须包裹SELECT
到另一个SELECT
或没有行会被退回。没有排的地方就没有价值。
你真的应该只返回'null',并让你的调用应用程序决定它在遇到'db_null'时将如何表现,而不是在你的数据库中执行它。 – Seph
@ Seph:感谢您的提示,如果我在调用应用程序中返回null,我必须用默认消息替换null。所以,而不是如果我试图做查询本身。 – Hariharbalaji
我已经想到了所有这些场景,然后只将IF()移动到SQL,因为这两个地方的行为都是相同的 – Hariharbalaji