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

公開日: : 最終更新日:2014/01/30 SQL Server , , ,

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

春分の日と秋分の日は


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

ということで「毎年決まった日」ではありません。
詳細は自然科学研究機構 国立天文台
ご覧ください。

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

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

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

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

公式を発見

以下のサイトでEXCELでの処理ですが、公式を発見しました。
春分の日や秋分の日を求めるには

早速SQLServerで実装です。

SQLで実装

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

年を2013年で実行すると

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

スポンサーリンク
スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • 13 follow us in feedly
  • 関連記事

    ORDER BYでNULLのカラムを最後に表示

    ORDER BYでNULLのカラムを最後に持ってくる SQLで何も考慮せずに「ORDER BY」す

    記事を読む

    日付の重複をSQLで検索する

    SQLを使って期間の重複を見つけ出す SQLを使って、開始日付、終了日付を持っているレコードの

    記事を読む

    SELECTでUNIONは複数個使える

    SELECTでの複数のUNIONの使い方 SELECTでUNIONは複数個、連続して使えるようです

    記事を読む

    Transact-SQLで日本語を(2バイト文字)を含むデータの扱い

    Transact-SQLで日本語を(2バイト文字)を含むデータをそのままSUBSTRING()すると

    記事を読む

    SQLで棒グラフの簡易版を出力する

    SQLで棒グラフの簡易版出力 SQLで棒グラフの簡易版を出力してみます。 1.テーブルの作成

    記事を読む

    集計関数COUNT()でのNULLの扱い

    集計関数COUNT()でのNULLの扱いは注意が必要 集計関数のCOUNT()は条件にマッチす

    記事を読む

    SQLServerでカンマ区切り (CSV) で文字列取得

    SQLの取得結果をカンマ区切りで取得 Where句のINにSQLで取得した結果を直接利用したり

    記事を読む

    DATENAME関数を使って日付を取得する。

    DATENAME関数を使って日付取得 SQLServerでDATENAME関数を使って日付を取得し

    記事を読む

    0で埋めで固定長のデータにする

    0で埋めで固定長のデータにする データべース内のデータを0埋めして取得します。 RIGHT(

    記事を読む

    SQLでランダムにユニーク(一意)な値(ID)を取得する

    ランダムにユニーク(一意)な値(ID)を取得する SQLServerでテーブル内でユニークキーをラ

    記事を読む

    Message

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


    *

    DATENAME関数を使って日付を取得する。

    DATENAME関数を使って日付取得 SQLServerでDATEN

    SQL Server2008で導入された[date/time/datetime2/datetimeoffset]型

    SQL Server2008では新しい日付/時刻データ型 date/

    SQLServer
    テーブルのプライマリキー(PK)を取得する(SQL編)

    SQLServerでテーブルのプライマリキー(PK)をSQLで取得する

    SQLでランダムにユニーク(一意)な値(ID)を取得する

    ランダムにユニーク(一意)な値(ID)を取得する SQLServer

    ORDER BYでNULLのカラムを最後に表示

    ORDER BYでNULLのカラムを最後に持ってくる SQLで何も考

    →もっと見る



    PAGE TOP ↑