gpt4 book ai didi

sql - 比较 NULL

转载 作者:行者123 更新时间:2023-12-02 00:30:31 26 4
gpt4 key购买 nike

我正在设计一个动态 SQL 查询,它将根据目标表检查源表。我想将源的行与目标的行进行比较以检查差异。

CREATE TABLE TABLE_A (KEY INT, COL1 INT, COL2 INT)
CREATE TABLE TABLE_B (KEY INT, COL1 INT, COL2 INT)

所以我创建了这个声明:

SELECT A.* FROM TABLE_A A
INNER JOIN TABLE_B B
ON B.KEY = A.KEY
AND (B.COL1<>A.COL1 OR B.COL2<>A.COL2)

但这仅在 col1 和 col2 的值不为空时有效。如果 table-a col1 为 null 并且 table-b col1 为 null 那么我会认为它们相等。

我知道我可以在我的列周围放置一个 ISNULL,但这是一个正在构建的动态查询,所以我只知道列名而不是数据类型。

有什么建议吗?

最佳答案

您可以使用this approach

SELECT A.* 
FROM TABLE_A A
INNER JOIN TABLE_B B
ON B.KEY = A.KEY
WHERE NOT EXISTS (SELECT A.*
INTERSECT
SELECT B.* )

关于sql - 比较 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8805785/

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