ADD_MONTHSの正規化の動作 - Teradata Database - Teradata Vantage NewSQL Engine - ADD_MONTHS、ADD_MONTHSの正規化の動作。

Teradata Vantage™ SQL日付と時刻の関数および式

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/pxz1544241488545.ditamap
dita:ditavalPath
ja-JP/pxz1544241488545.ditaval
dita:id
B035-1211
Product Category
Software
Teradata Vantage

月の間隔の算術に対する標準的なアプローチは、適宜 MONTH および YEAR 値を増分し、DAY のソース値を保存することです。この方法では、ターゲット月の日数がソース日付のDAY値よりも小さい場合に問題になります。

例えば、'1999-01-31'というソースDATE値に1 MONTHを加算する場合、結果を処理するためにどんなアプローチをとるべきでしょうか。標準的なアプローチを使えば、結果は'1999-02-31'になりますが、2月31日は有効な日付ではありません。

ADD_MONTHSの動作は、ANSI SQL:2011準拠の演算であるDATE ± INTERVAL ‘n’ MONTHおよびTIMESTAMP ± INTERVAL ‘n’ MONTHの動作に相当しますが、1つの重要な違いがあります。

これら2つのスカラー算術演算の相違点は、有効でない日付値が関数から戻される場合のそれぞれの動作にあります。

  • ANSI SQL:2011の算術はエラーを戻します。
  • ADD_MONTHS 算術は規定の調整を行ない、有効な日付を戻します。