在 Oracle SQL 中插入 DATE 值的格式是什么?

What is the format, for inserting DATE values in Oracle SQL?

在 Oracle SQL 中,我看到默认的日期格式是 'YYYY-MON-DD'

但是,当我 运行 这个查询时:

  SELECT TO_CHAR
    (SYSDATE) "NOW"
    FROM DUAL;

它returns :

23-APR-15

虽然我期待像“2015-APR-23”这样的东西..

这是为什么?谢谢

看到这个问题- Oracle's default date format is YYYY-MM-DD, WHY?

默认日期格式是会话 nls_date_format 指定的任何格式。但是,您永远不应该编写依赖于会话 nls_date_format 的代码,因为这取决于用户的偏好、他们的国家和地区等。您应该使用显式转换 and/or 日期文字( date 'yyyy-mm-dd') 在你的代码中,而不是依赖于隐式转换。如果您关心返回字符串的格式,则需要在 to_char 调用中提供明确的格式掩码。

您的会话 nls_date_format 似乎是 DD-MON-RR,这是英语安装的常见默认值。别人的默认值可能是YYYY-MON-DD。其他人可能还有另一个默认值。