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

SQL Serverのパラメーター値に応じて、WHERE IS NULL、IS NOT NULL、またはNOWHERE句

    単一のWHEREを使用してこれを解決する方法は次のとおりです。 条項:

    WHERE (@myParm = value1 AND MyColumn IS NULL)
    OR  (@myParm = value2 AND MyColumn IS NOT NULL)
    OR  (@myParm = value3)
    

    CASEステートメントのナイーブな使用法は機能しません 、これは次のことを意味します:

    SELECT Field1, Field2 FROM MyTable
    WHERE CASE @myParam
        WHEN value1 THEN MyColumn IS NULL
        WHEN value2 THEN MyColumn IS NOT NULL
        WHEN value3 THEN TRUE
    END
    

    caseステートメントを使用してこれを解決することは可能です。onedaywhenの回答を参照してください



    1. データ生成とハードウェア品質

    2. MySQLのパフォーマンス:MySQL/MariaDBインデックス

    3. MySQLテーブルに挿入するか、存在する場合は更新します

    4. T-SQLを使用してSQLServerでデータベースのリカバリモデルを取得する方法