SQLServerで春分の日と秋分の日をSQLで求める計算式

記事内に広告が含まれています。

春分の日と秋分の日は毎年違うので計算で春分の日と秋分の日をSQLで求めてみます。

春分の日と秋分の日は毎年違う

春分の日と秋分の日は


祝日としての春分の日・秋分の日は、前年の2月1日に、春分の日・秋分の日の日付が書かれた「暦要項(れきようこう)」が官報に掲載されることによって、正式決定となります。

ということで「毎年決まった日」ではありません。

302 Found

しかしながらプログラムの処理上、カレンダーを作成したりする場合にどうしても来年以降の春分の日と秋分の日が知りたいことがあります。

そこでSQLで暫定的ではありますが、計算して指定した年の春分の日と秋分の日を求めてみます。

春分の日と秋分の日を計算で求める

春分の日と秋分の日を計算するにもその方法がないといけないので公式を探してみました。

公式を発見

以下のサイトでEXCELでの処理ですが、公式を発見しました。

Excel 2010:春分の日や秋分の日を求めるには
祝日法では、国立天文台の観測に基づき、前年の2月に官報による告示により決定されてはじめて春分の日と秋分の日が正式に決まりますが、INT関数を使って暫定的に求めることができます。

早速SQLServerで実装です。

SQLで実装

SQLで以下のソースを作成しました。

DECLARE @year INT = 2013
SELECT
  CAST(ROUND( (20.8431+0.242194*(@year-1980))-((@year-1980)/4) , 0, 1 ) AS INT ) AS 春分の日
 ,CAST(ROUND( (23.2488+0.242194*(@year-1980))-((@year-1980)/4) , 0, 1 ) AS INT ) AS 秋分の日

年を2013年で実行すると

春分の日    秋分の日
   20          23

ということで今年の春分の日と秋分の日が求められました。

タイトルとURLをコピーしました