Oracle Database 生成没有时间成分的日期

示例

所有DATE都有时间成分;但是,习惯上存储不需要将时间/分钟/秒设置为零(即午夜)的时间信息的日期。

使用ANSIDATE文字(使用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;

(如果要转换特定于语言的术语,例如月份名称,则最好nlsparam在TO_DATE()函数中包含第3个参数,并指定期望的语言。)