-1

日付の部分に個別のフィールドを使用して統計を保存する統計テーブルがあります。


番号 月番号 年
番号

これは、特定の日付が必要なときにうまく機能します。

この日付からその日付までの日付範囲が必要な場合、これをどのように処理するのか疑問に思っています。

どうもありがとう!

4

2 に答える 2

3
   CAST(
    CAST(yearNumber as char(4)) 
    + '-'
    + CAST(monthNumber as char(2)) 
    + '-'
    + CAST(dayNumber as char(2)) 
  as smalldatetime) 
  BETWEEN @StartDate and @EndDate 
于 2013-09-12T18:10:53.127 に答える
1

zfusコメントを強化して、Charles Bretana's answerを確認すると、節DATEADDで比較する日付を作成するために使用できます。WHERE

...
WHERE DATEADD(yy, yearnumber - 1900,  
              DATEADD(m, monthnumber - 1, daynumber - 1))
      BETWEEN @StartDate AND @EndDate;

SQL fiddle

于 2013-09-12T18:35:20.690 に答える