相关疑难解决方法(0)

如何比较可能都为空的值是T-SQL

我想确保我没有在表格中插入重复的行(例如,只有主键不同).我的所有字段都允许NULLS,因为我已经确定null表示"所有值".由于null,我的存储过程中的以下语句不起作用:

IF EXISTS(SELECT * FROM MY_TABLE WHERE 
    MY_FIELD1 = @IN_MY_FIELD1  AND
    MY_FIELD2 = @IN_MY_FIELD2  AND
    MY_FIELD3 = @IN_MY_FIELD3  AND 
    MY_FIELD4 = @IN_MY_FIELD4  AND
    MY_FIELD5 = @IN_MY_FIELD5  AND
    MY_FIELD6 = @IN_MY_FIELD6)
    BEGIN
        goto on_duplicate
    END
Run Code Online (Sandbox Code Playgroud)

因为NULL = NULL不是真的.

如何在没有每列的IF IS NULL语句的情况下检查重复项?

sql t-sql sql-server stored-procedures

68
推荐指数
9
解决办法
9万
查看次数

如何重写IS DISTINCT FROM并且不是DISTINCT FROM?

如何重写包含SQL实现中的标准IS DISTINCT FROMIS NOT DISTINCT FROM运算符的表达式,例如不支持它们的Microsoft SQL Server 2008R2?

sql t-sql sql-server ansi-sql sql-server-2008-r2

49
推荐指数
5
解决办法
1万
查看次数