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

Microsoft SQL Serverで日付のみを使用してDATETIMEフィールドをクエリするにはどうすればよいですか?

    範囲、またはDateDiff関数を使用する

     select * from test 
     where date between '03/19/2014' and '03/19/2014 23:59:59'
    

    または

     select * from test 
     where datediff(day, date, '03/19/2014') = 0
    

    その他のオプションは次のとおりです。

    1. データベーススキーマを制御でき、時間データが必要ない場合は、それを取り出してください。

    2. または、保持する必要がある場合は、日付値の時間部分が削除された計算列属性を追加します...

    Alter table Test Add DateOnly As DateAdd(day, datediff(day, 0, date), 0)

    または、SQLServerの最新バージョンでは...

    Alter table Test Add DateOnly As Cast(DateAdd(day, datediff(day, 0, date), 0) as Date)

    次に、クエリを次のように簡単に記述できます。

    select * from test 
    where DateOnly = '03/19/2014'
    


    1. 2つの列を組み合わせて、1つの新しい列に追加します

    2. 作業フォルダを使用したソース管理データベース

    3. `in`句にすべての値を持つ列のみでクエリを結合します

    4. MySQL列挙型データ型と同等のSQLServer?