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

SQLWhere句を短絡する方法

    SQL Serverは短絡を行いません(また、短絡するべきではありません)。

    試さない必要がある場合 状況によっては、クエリを作成する方法でそれを強制する必要があります。

    このクエリの最も簡単な修正は、CASEを使用することです。 WHEREでの表現 条項。

    declare @queryWord as nvarchar(20) = 'asdas'
    
    SELECT  * FROM TABLE_1 
    WHERE TABLE_1.INIT_DATE = (CASE WHEN ISDATE(@queryWord) = 1 
                                    THEN CONVERT(Date, @queryWord)
                               ELSE NULL  END)
    

    オフハンド、CASE SQLの依存条件の評価の順序を強制するために私が考えることができるサポートされている方法は、クエリネストとクエリネスティングの2つだけです。



    1. 順序付きリストをデータベースに保存する最良の方法は?

    2. MySQL:更新ステートメントで等しいコロン=:はどういう意味ですか?

    3. Oracle DML table_reference用のパーサーはありますか?

    4. VB.NET2010を使用してリモートMySQLデータベースに接続します