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

SQL Serverで特定の日付より後のすべての日付をクエリするにはどうすればよいですか?

    select *  
    from dbo.March2010 A 
    where A.Date >= Convert(datetime, '2010-04-01' )
    

    クエリでは、2010-4-01 は数式として扱われるため、本質的には

    select *  
    from dbo.March2010 A 
    where A.Date >= 2005; 
    

    2010 minus 4 minus 1 is 2005 適切なdatetimeに変換します 、および一重引用符を使用すると、この問題が修正されます。)

    技術的には、パーサーを使用すると、問題を解決できる場合があります

    select *  
    from dbo.March2010 A 
    where A.Date >= '2010-04-01'
    

    変換は自動的に行われますが、私の意見では、DateTimeに明示的に変換するよりも読みにくくなります。 あなたの後に来るメンテナンスプログラマーのために。



    1. R12.2オンラインパッチ準備レポート

    2. SQLServerデータベースにすべてのストアドプロシージャを一覧表示する3つの方法

    3. SQLServerで特定の文字のASCIIコード値を返す方法

    4. 同じアクセス方法でデッドロックが発生する可能性はありますか?