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

SQLServer2008で日付から月の週番号を取得する方法

    ここに2つの異なる方法があります。どちらも、週が月曜日に始まると想定しています

    週全体にしたい場合は、それらが開始する月に属します。つまり、土曜日2012-09-01と日曜日2012-09-02は第4週、月曜日2012-09-03は第1週です。

    declare @date datetime = '2012-09-01'
    select datepart(day, datediff(day, 0, @date)/7 * 7)/7 + 1
    

    週が月の変更でカットされ、土曜日の2012-09-01と日曜日の2012-09-02が第1週で、月曜日の2012-09-03が第2週である場合は、次を使用してください。

    declare @date datetime = '2012-09-01'
    select datediff(week, dateadd(week, 
      datediff(day,0,dateadd(month,
        datediff(month,0,@date),0))/7, 0),@date-1) + 1
    

    ジェラルドからメールを受け取りました。彼は2番目の方法の欠陥を指摘しました。これは今すぐ修正する必要があります



    1. 親と無限の子を返すステートメントを選択します

    2. LINQforJavaツール

    3. 新しいPostgreSQLJSONデータ型内のフィールドを変更するにはどうすればよいですか?

    4. リストボックスで実際の値の代わりにSystem.Data.DataRowViewを取得するのはなぜですか?