DATE的Oracle问题

时间:2009-10-12 10:48:51

标签: oracle date

我很困惑。我试图从oracle表中读取一个值,格式为:timestamp(6)。

在我的PHP脚本中,我将Dateformat设置为:

$db->query('ALTER SESSION SET NLS_DATE_FORMAT = "DD-MM-RR"');

在2台机器上接收此字符串作为值(对我来说是正确的):   [“TIME_INSERT”] => string(24)“05.10.07 14:20:05,000000”

在运行相同脚本的一台Linux机器上,它返回:   [“TIME_INSERT”] => string(28)“05-OCT-07 02.20.05.000000 PM”

任何想法如何改变这个?

1 个答案:

答案 0 :(得分:4)

您应该设置会话参数NLS_TIMESTAMP_FORMATNLS_TIMESTAMP_TZ_FORMAT以根据需要显示时间戳数据:

SQL> select systimestamp from dual;

SYSTIMESTAMP
----------------------------------------------------
12/10/09 12:52:41,462532 +02:00

SQL> ALTER SESSION SET NLS_TIMESTAMP_TZ_FORMAT = 'dd.mm.rr hh24:mi:ss,ff5';

Session altered

SQL> select systimestamp from dual;

SYSTIMESTAMP
--------------------------------------------------------------------------------
12.10.09 12:56:36,14023