sql >> データベース >  >> RDS >> Sqlserver

IN(NULL)を使用したSQL Serverのクエリが機能しない

    NULL を使用した唯一の有効な比較演算 値は IS NULL です または IS NOT NULL 、その他は常に false を返します (実際には不明です。@Damien_The_Unbeliever のコメントを参照してください)

    そこで、次のことを試してください

    CREATE TYPE [dbo].[BitType] AS TABLE(
        [B] [tinyint] NOT NULL
    )
    GO
    declare @theBitTypeTable BitType
    
    insert @theBitTypeTable
    VALUES(0), (2 /* instead of NULL*/)
    
    SELECT something FROM theTable WHERE IsNull(cast(item as tinyint), 2) IN (select B from @theBitTypeTable)
    


    1. 別のポートのdockermysql

    2. mysqlクエリでMAX値を取得する

    3. さまざまなフォーラムをカテゴリPHPにグループ化する方法

    4. mysqlエラー:テーブルmysql.innodb_table_statsが見つかりません