16

知っている人なら誰でも簡単に。TSQL ストアド プロシージャでは、bool の値を比較する if ステートメントをどのように記述しますか。C# に慣れすぎているため、中かっこ、中かっこ、およびあらゆる種類のものを入れていますが、間違っていると思います。

4

3 に答える 3

38
DECLARE @bool BIT = 1

IF @bool = 1
BEGIN
    -- do stuff here
    PRINT 'it was true';
END
ELSE
BEGIN
    -- do other stuff here
    PRINT 'it was not true';
END

BEGINif 内に 1 行しかない場合はandは必要ありませんが、ENDいずれにせよそれらを使用することをお勧めします。

于 2012-06-18T15:35:09.900 に答える
3

ブール値に対応する sql データ型はビットです。つまり、true の場合は 1、false の場合は 0 です。

IF( @Statement=1)
    BEGIN
        SELECT COUNT(*) FROM Table
    END
ELSE
    BEGIN
        SELECT MIN(ID) FROM Table
    END
END
于 2012-06-18T15:34:07.470 に答える