生成没有时间组件的日期
所有 DATE
都有时间成分; 然而,习惯上存储不需要包括时间信息的日期,其中小时/分钟/秒设置为零(即午夜)。
使用 ANSI DATE
文字 (使用 ISO 8601 日期格式 ):
SELECT DATE '2000-01-01' FROM DUAL;
使用 TO_DATE()
从字符串文字转换它 :
SELECT TO_DATE( '2001-01-01', 'YYYY-MM-DD' ) FROM DUAL;
(有关日期格式模型的更多信息,请参阅 Oracle 文档。)
要么:
SELECT TO_DATE(
'January 1, 2000, 00:00 A.M.',
'Month dd, YYYY, HH12:MI A.M.',
'NLS_DATE_LANGUAGE = American'
)
FROM DUAL;
(如果要转换特定于语言的术语,例如月份名称,那么最好将第 3 个 nlsparam
参数包含在 TO_DATE()
函数中并指定预期的语言。)