SQL Anywhere には、SQL Anywhere の日付と時刻の値をさまざまな文字列や式に変換するための機能が数多く用意されています。データ値を文字列に変換する場合は、年の最初の 2 桁を削除して残りの 2 桁で年を表すことができます。
次の文は、正しく文字列に変換できなかった例です。データベース・エラーは発生しませんが、日付が January 1 2000 ではなく January 1, 1900 という日付を表す文字列に変換されています。
SELECT DATEFORMAT ( DATEFORMAT('2000-01-01', 'Mmm dd/yy' ), 'yyyy-Mmm-dd' ) AS Wrong_year; |
SQL Anywhere は自動的にあいまいな日付文字列 2000-01-01 を正しい日付値に変換します。ただし、内部またはネストされた DATEFORMAT 関数の 'Mmm dd/yy' フォーマットは、文字列に再び変換され、外部の DATEFORMAT 関数に渡されるときに最初の 2 桁が削除されます。
この場合、データベース・オプション nearest_century が 0 に設定されているため、外部の DATEFORMAT 関数は、2 桁で年を表す文字列を 1900 ~ 1999 年の間の年を表す値に変換します。
日付と時刻関数の詳細については、日付と時刻関数を参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |