合并:SQL 服务器与 Oracle
COALESCE: SQL Server vs Oracle
我有以下脚本:
SELECT 1
FROM Table t
WHERE COALESCE(NULL, t.ID) = NULL;
t
为空。 Oracle 的查询 returns 1
而 SQL Server 的查询 returns 没有。
SQL 服务器的 COALESCE
操作的输出是什么?我们能否修复此代码,使其对两个数据库的行为相同?
这里有 colaesce
有什么意义,因为你的第一个参数是 NULL
。
只需这样做:
SELECT 1
FROM Table t
where t.ID IS NULL;
问题不在于 Coalesce 函数。如果 t table 为空,则 SQL 服务器将找不到并返回任何行。
我有以下脚本:
SELECT 1
FROM Table t
WHERE COALESCE(NULL, t.ID) = NULL;
t
为空。 Oracle 的查询 returns 1
而 SQL Server 的查询 returns 没有。
SQL 服务器的 COALESCE
操作的输出是什么?我们能否修复此代码,使其对两个数据库的行为相同?
这里有 colaesce
有什么意义,因为你的第一个参数是 NULL
。
只需这样做:
SELECT 1
FROM Table t
where t.ID IS NULL;
问题不在于 Coalesce 函数。如果 t table 为空,则 SQL 服务器将找不到并返回任何行。