0

関数には次のようないくつかのパラメーターがあります
@a int, @b int, @c int , @d int

許可する必要があるだけで、値は @a、@b、@c、@d、および @a + @b の組み合わせのいずれでも null ではありません

試してみましたが、他の組み合わせも可能です@a + @c

if((@a is not null) or (@b is not null) or (@c is not null) or (@d is not null) or ((@a is not null) and (@b is not null)))

誰でも私を助けてもらえますか?

4

1 に答える 1

0

これはどう:

IF
    (
        @a IS NOT NULL 
        AND 
        @c IS NULL
        AND 
        @d IS NULL
    )
    OR
    (
        @b IS NOT NULL
        AND 
        @c IS NULL
        AND 
        @d IS NULL
    )
    OR 
    (
        @c IS NOT NULL
        AND 
        @a IS NULL
        AND 
        @b IS NULL
        AND 
        @d IS NULL
    )
    OR 
    (
        @d IS NOT NULL
        AND 
        @a IS NULL
        AND 
        @b IS NULL
        AND 
        @c IS NULL
    )

またはこれ:

DECLARE @validate INT;
SELECT @validate = SUM(validate) 
FROM 
    ( 
        SELECT CASE WHEN @a IS NULL THEN 0 ELSE 1 END validate
        UNION
        SELECT CASE WHEN @b IS NULL THEN 0 ELSE 1 END 
        UNION
        SELECT CASE WHEN @c IS NULL THEN 0 ELSE 2 END 
        UNION
        SELECT CASE WHEN @d IS NULL THEN 0 ELSE 2 END 
    ) n;

IF @validate BETWEEN 1 AND 2
于 2013-04-09T17:34:56.310 に答える