0

ストアド プロシージャがあり、C# コードから「serverdate」が SP に渡されます。serverdate は System.Datetime.now() の値です。

spでそのサーバー日付から会計年度を見つけるにはどうすればよいですか?

会計年度は「4月1日~3月31日」とする。

4

3 に答える 3

0
SELECT 
    CASE 
    WHEN DATEPART(month, GETDATE()) >= 4 THEN 
        CAST(DATEPART(year, GETDATE()) AS VARCHAR(4)) + '-' + CAST(DATEPART(year, GETDATE())+1 AS VARCHAR(4))
    ELSE 
        CAST(DATEPART(year, GETDATE())-1 AS VARCHAR(4)) + '-' + CAST(DATEPART(year, GETDATE()) AS VARCHAR(4))
    END AS fiscal

それはあなたが探しているようなものですか?

于 2013-01-22T12:33:09.773 に答える
0

これらは Oracle クエリですが、Oracle の「デュアル」などのテーブルまたは SQL SERVER システム テーブルから選択すると、SQL SERVER で機能します。

SELECT start_date, Add_Months(start_date-1, 12) end_date
  FROM
 (
  SELECT Add_Months(Trunc(SYSDATE, 'YY'), 3) start_date
    FROM dual
 )
 /

Output:

Start_Date  End_Date
-------------------------
4/1/2013    3/31/2014

会計年度 - 「オンザフライ」の年次表:

SELECT (start_date-1)+ LEVEL  Fiscal_Year
  FROM
(
  SELECT start_date, Add_Months(start_date-1, 12) end_date
    FROM
  (
   SELECT Add_Months(Trunc(SYSDATE, 'YY'), 3) start_date
     FROM dual
  )
)
CONNECT BY LEVEL <= (end_date+1)-start_date
/

Output:

FISCAL_YEAR
------------
4/1/2013
4/2/2013
4/3/2013
....
....
3/31/2014
于 2013-01-22T13:12:58.517 に答える