翌月の初め、たとえば4月の日付を選択するのを手伝っていただけませんか。たとえば、2013年1月8日の場合は、2013年4月1日を選択する必要がありますが、2013年6月8日の場合は、2014年4月1日を選択する必要があります。
ありがとう。
翌月の初め、たとえば4月の日付を選択するのを手伝っていただけませんか。たとえば、2013年1月8日の場合は、2013年4月1日を選択する必要がありますが、2013年6月8日の場合は、2014年4月1日を選択する必要があります。
ありがとう。
カレンダーテーブルを作成すると、次のように簡単に実行できます。
select
min([Date])
from
dbo.Calendar
where
MonthNumber = 4 and
DayNumber = 1 and
[Date] > getdate()
カレンダーテーブルのクエリは、通常、日付関数を使用するよりも明確で、単純で、柔軟性があります。また、今日が4月1日である場合にどうなるかを検討することもできます。今日の日付ですか、それとも来年の日付ですか。
会計年度の始まりである4月1日に興味がある場合は、その情報をカレンダーテーブルに直接追加できます。
select
min([Date])
from
dbo.Calendar
where
IsStartOfFinancialYear = 0x1 and
[Date] > getdate()
次の短い例のようにDATEADD
、と関数を使用します。DATEPART
DECLARE @Date Datetime
SET @Date = '2013.01.08 00:00:00'
SELECT DATEADD(year,
CASE WHEN DATEPART(month, @Date) < 4
THEN 0
ELSE 1 END,
DATEADD(day, -DATEPART(day, @Date) + 1,
DATEADD(month, -DATEPART(month, @Date) + 4, @Date)))