SQL确定参数是否具有值

atr*_*joe 1 sql sql-server parameters if-statement

我如何使用IF语句来确定是否有多个参数具有值然后执行一些工作,如果只有一个参数具有值,则执行其他工作.这有可能与SQL if?我只是想确定一个参数是否有值,或者多个参数是否有值,因为如果是,那么我需要做一些完全不同的事情.我试过制作一个SQL语句,但它没有正常工作.有人能指出我正确的方向吗?

Cat*_*h22 11

在SQL中检查参数是否具有值,您应该将该值与NULL进行比较.这是一个稍微过度设计的例子:

Declare @Param1 int  
Declare @param2 int = 3

IF (@Param1 is null AND @param2 is null)
BEGIN
    PRINT 'Both params are null'
END
ELSE
BEGIN
    IF (@Param1 is null)
        PRINT 'param1 is null'
    ELSE 
    IF (@Param2 is null)
        PRINT 'param2 is null'
    ELSE
        PRINT 'Both params are set'
END
Run Code Online (Sandbox Code Playgroud)