日付 (DATE) 型関数は、引数を日付 (DATE) 型値に変換します。
WHERE order_date < DATE('12/31/07')
SELECT DISTINCT DATE('02/01/2008') FROM ship_info;
日付 (DATE) 型関数はこの文字列式を変換できないため、この SELECT 文ではエラーが生成されます。DATE 関数により、日付 (DATE) 型文字列の最初の部分 (02) は 年として解釈され、2 番目の部分 (01) は月として解釈されます。
DATE 関数では、3 番目の部分 (2008) は 2 桁の日付 (有効な日付の値は 01 から 31) になっている必要がありますが、4 桁の値が検出されます。このため、値を変換できません。DBDATE の値 Y2MD/ を使用して SELECT 文を正常に実行するには、引数は '08/02/01' である必要があります。DBDATE のフォーマットについては、「IBM Informix SQL ガイド: リファレンス」を参照してください。
日付 (DATE) 型値の表示およびデータ入力フォーマットを指定できる各 Informix® 環境変数の優先順位について詳しくは、日付 (DATE) 型フォーマットおよび日時 (DATETIME) 型フォーマットの指定の優先順位のトピックを参照してください。
非日付 (DATE) 型式に正の整数 (INTEGER) 型値を指定する場合、DATE 関数により、この値は 1899 年 12 月 31 日以降の日数として解釈されます。
WHERE order_date < DATE(365)
データベース サーバは、1900 年 12 月 31 日 (1899/12/31 + 365 日) より前の order_date 値を含む行を検索します。