当我在桌面上运行以下查询时
Select to_char(join_date, 'DD-MON-YYYY')
From students
group by to_char(join_date, 'DD-MON-YYYY');
我得到以下输出:
23-Oct-2012
25-Oct-2012
23-Oct-2012
23-Oct-2012
23-Oct-2012
26-Oct-2012
23-Oct-2012
24-Oct-2012
23-Oct-2012
但是如果我在不同的服务器上运行它,输出结果如下:
23-Oct. -2012
25-Oct. -2012
23-Oct. -2012
23-Oct. -2012
23-Oct. -2012
26-Oct. -2012
23-Oct. -2012
24-Oct. -2012
23-Oct. -2012
有什么想法可能导致这种情况吗?
第二台服务器与我在不同的国家/地区运行,因此其区域设置可能不同。
更新:
NLS_DATE_FORMAT 在两台服务器上都是 DD-Mon-RRRR。
最佳答案
当 oracle 从数据库中检索日期字段时,给你看,一个隐式的强制转换是 .此转换的格式模式在 oracle 配置中设置。 Quoting oracle doc :
The default date format for an Oracle date value is derived from the NLS_DATE_FORMAT and NLS_DATE_LANGUAGE initialization parameters
如果 NLS_DATE_FORMAT 在两台服务器上都是 DD-Mon-RRRR 检查 NLS_DATE_LANGUAGE .
关于sql - 日期在不同服务器上显示不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13127510/