【发布时间】:2020-09-02 16:11:15
【问题描述】:
我对 Oracle SQL 中的以下查询有疑问:
SELECT TO_DATE('10-11-2015','DD-MM-YYYY') FROM DUAL;
当我运行它时,结果如下10-NOV-15。根据我在 Oracle 文档中读到的内容,YYYY 应该转换为 4 位数年份,但它会转换为 2 位数年份。为什么会这样?
【问题讨论】:
-
不是。值就是这样打印的。
-
函数
to_date将 STRING 转换为 DATE。然后 Oracle 使用会话的默认格式将此日期转换回字符串:SELECT * FROM nls_session_parameters where PARAMETER = 'NLS_DATE_FORMAT',很可能是DD-MON-YY。 -
存储和显示格式是两个不同的东西。
标签: sql oracle date select oracle12c