0

CalendarMonth ソートの下の T-SQL SELECT ステートメントにハードコーディングして、誰かがデータをクエリすると、Apr、Aug ではなく、Jan、Feb が出力されるようにしてください。

BEGIN 

INSERT INTO Time3(Date,CalendarYear,CalendarMonth,FinancialYear,FinancialMonth)

SELECT 
@StartDate Date,YEAR(@StartDate) AS CalendarYear,
DATENAME(MONTH,@StartDate) AS CalendarMonth, 
YEAR(Dateadd(MONTH,-3,@StartDate)) AS FinancialYear,
'Period ' + RIGHT('0' + CAST(MONTH(Dateadd(MONTH, -3,@StartDate)) AS VARCHAR(2)),2) AS FinancialMonth
SET @StartDate = DATEADD(dd,1,@StartDate)

END
4

2 に答える 2

2

これを試して:

ORDER BY MONTH(@StartDate)

MONTH は、指定された日付の月を表す整数を返す関数です。 http://msdn.microsoft.com/ru-ru/library/ms187813.aspx

于 2013-02-08T10:53:53.647 に答える
0

次のような列をクエリに追加するだけで、 @Month を変数に置き換えるだけです。

CASE @Month
  WHEN 'January' THEN 1
  WHEN 'February' THEN 2
  WHEN 'March' THEN 3
  WHEN 'April' THEN 4
  WHEN 'May' THEN 5
  WHEN 'June' THEN 6
  WHEN 'July' THEN 7
  WHEN 'August' THEN 8
  WHEN 'September' THEN 9
  WHEN 'October' THEN 10
  WHEN 'November' THEN 11
  WHEN 'December' THEN 12
END as MonthOrder

次に、ORDER BY句で、この列で並べ替えます

于 2013-02-08T10:32:46.100 に答える