DATE 函数将它的参数转换为 DATE 值。
WHERE order_date < DATE('12/31/07')
SELECT DISTINCT DATE('02/01/2008') FROM ship_info;
此 SELECT 语句生成错误,因为 DATE 函数不可转换此字符串表达式。DATE 函数将该日期字符串的第一部分(02)解释为年份,第二部分(01)为月份。
对于第三部分(2008),当 DATE 函数期望两位的日期(有效的日期值必须介于 01 与 31 之间)时,它遇到了四位数字。因此,它不可转换该值。对于要以 DBDATE 的 Y2MD/ 值成功地执行的 SELECT 语句,该参数需要为 '08/02/01'。要获取关于 DBDATE 的格式的信息,请参阅 GBase 8s SQL 参考指南。
要获取那些可指定 DATE 值的显示和数据条目格式的 GBase 8s 环境变量之中优先级顺序的信息,请参阅主题 DATE 和 DATETIME 格式规范的优先顺序。
当您为非 DATE 表达式指定正的 INTEGER 值时,DATE 函数将此解释为 1899 年 12 月 31 日之后的天数。
WHERE order_date < DATE(365)
数据库服务器搜索 order_date 值小于 1900 年 12 月 31 日(其为 12/31/1899 加上 365 天)的行。