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

时间:2015-04-23 17:21:13

标签: sql oracle date oracle11g

在Oracle SQL中,我读到默认日期格式为'YYYY-MON-DD'

但是,当我运行此查询时:

  SELECT TO_CHAR
    (SYSDATE) "NOW"
    FROM DUAL;

它返回:

  

23-APR-15

虽然我期待像'2015-APR-23'这样的东西。

为什么?感谢

请参阅此问题 - Oracle's default date format is YYYY-MM-DD, WHY?

1 个答案:

答案 0 :(得分:5)

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

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

相关问题