gpt4 book ai didi

sql - 如果没有找到记录则返回一个值

转载 作者:行者123 更新时间:2023-12-03 07:48:30 24 4
gpt4 key购买 nike

我有一个有效的简单语句:

SELECT idnumber FROM dbo.database WHERE number = '9823474'

如果该数字在表中任何位置都不存在,则失败。我想在此声明中添加一些内容:
如果没有找到记录,则返回 NULL 而不是没有行。

有什么建议吗?

最佳答案

将查询封装在子查询中,将“无行”转换为 null 值。

我用 PostgreSQL 测试并验证了这一点, SQLite , SQL Server ,和 MySQL .

SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id;

Oracle您必须从虚拟 1 行表中进行选择 DUAL:

SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM DUAL;

出于兼容性原因,您可以在 MySQL 中执行相同的操作,但并非必须这样做。
类似 Firebird :

SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM RDB$DATABASE;

这适用于 DB2 (如Sean commented):

SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM SYSIBM.SYSDUMMY1;

关于sql - 如果没有找到记录则返回一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8098795/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com