2016-06-27 11 views
0

でキャプチャします。クライアントのID、名前、サービスの日付などのフィールドを選択しています。私はWhere句を書くことを試みています。毎日私がクエリを実行すると、現在の月の最初の日付範囲が現在の日付に取得されます。現在の月の現在の日付の最初の日付の範囲をwhere句

+0

http://stackoverflow.com/questions/1520789/how-can-i-select-the-first-day-of-a-month-in-sql残りは簡単です。ヒント 'DATEADD(月、DATEDIFF(月、0、@mydate)、0)と@ mydate'の間の日付 –

答えて

2

一つの方法は、月と年を比較するために、次のようになります。

where year(col) = year(getdate()) and 
     month(col) = month(getdate()) and 
     day(col) <= day(getdate()) -- this is optional, if there is no future data 

もう一つの方法は、月の初めに比較することだろう。 (これは、テーブルには、将来のデータが存在しない前提としています。)

where col >= cast(dateadd(day, 1 - day(getdate), getdate()) as date) 

をか、いっそのこと:私は、このに近づくだろう

where col >= datefromparts(year(getdate()), month(getdate()), 1) 
0
Select * 
    From YourTable 
    where SomeDateField bewteen cast(DateAdd(DD,-Day(GetDate())+1,GetDate()) as Date) and cast(getDate() as Date) 
     and ... 

編集を:I BETWEENを使用して将来の予定/予定イベントをトラップする

関連する問題