日付を数値に変換すると、エンコードされて内部に格納された日付の整数値が戻されます。この場合、以下の公式が使用されます。
(year - 1900) * 10000 + (month * 100) + day
指定可能な日付値は、西暦0001年1月1日~西暦9999年12月31日です。
例えば、1985年12月31日は整数851231、1776年7月4日は-1239296、2041年3月30日は1410330としてそれぞれ格納されます。
DATEからDECIMAL(n,m)への変換で、数字(n)の数が小さすぎる場合は、数値オーバーフローのエラーが発生します。DATEからBYTEINTまたはSMALLINTへの変換では、戻される値がそのデータ型で表現できる値の範囲外である場合は、数値桁あふれエラーが発生します。
DATEからINTEGERまたはFLOATへの変換では、エラーは生成されません。