MySQL 5.1 リファレンスマニュアル :: 11 関数と演算子 :: 11.6 MySQL が使用するカレンダーは ?
« 11.5 日付時刻関数

11.7 全文検索関数 »
Section Navigation      [Toggle]
  • 11 関数と演算子
  • 11.1 演算子
  • 11.2 制御フロー関数
  • 11.3 文字列関数
  • 11.4 数字関数
  • 11.5 日付時刻関数
  • 11.6 MySQL が使用するカレンダーは ?
  • 11.7 全文検索関数
  • 11.8 キャスト関数と演算子
  • 11.9 XML 関数
  • 11.10 その他の関数
  • 11.11 GROUP BY 句との関数および修飾子の使用

11.6. MySQL が使用するカレンダーは ?

MySQL は、proleptic Gregorian calendar として知られる暦を使用しています。

ユリウス暦からグレゴリオ暦に改めたすべての国では、その変移の際に少なくとも 10 日の日数を減らさなければなりませんでした。この仕組みを理解するには、初めてユリウス暦からグレゴリオ暦への変更が行われた1582 年の 10 月を考慮に入れてください :

月曜日 火曜日 水曜日 木曜日 金曜日 土曜日 日曜日
1 2 3 4 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

10 月 4 日から 10 月 15 日の間には日付がありません。この不連続性を カットオーバ と呼びます。カットオーバの前がユリウス暦で、カットオーバに続く日付はすべてグレゴリオ暦です。カットオーバの途中の日付は存在しません。

まだ実際には使用されていなかった間のカレンダーは proleptic と呼ばれています。従って、最初から常にグレゴリオ暦が使用されており、カットオーバが起こることもなかったと仮定した暦が proleptic Gregorian calendar ということになります。これが MySQL の使用する暦であり、標準 SQL の必須となっています。このため、MySQL DATE または DATETIME 値として格納されたカットオーバ前の日付は、その違いを補正する調整が必要です。カットオーバが起こった時期が国によって異なるのも重要な点で、その時期が後であるほど、失われる日数は多いことになります。例えば、イギリスでは 1752 年にカットオーバが起こり、9 月 2 日の水曜日の翌日が、9 月 14 日の木曜日でした。ロシアは 1918 年までユリウス暦を使用し、変更の際に 13 日を失いました。世に言う 「十月革命」 は、グレゴリオ暦では 11 月に起こったものです。

Copyright © 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates