ORACLE不会节省时间。为什么? [关闭]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORACLE不会节省时间。为什么? [关闭]相关的知识,希望对你有一定的参考价值。
我正在尝试使用此查询在oracle中插入日期和时间:
insert into table_name
(date_field)
values
(to_date('2003/05/03 21:02:44', 'yyyy/mm/dd hh24:mi:ss'))
但是如果我检查条目的日期是
SUNDAY 03 MAY 2003 00:00:00 CEST
日期是正确的,但时间是错误的。为什么?
这发生在我的所有Oracle表中。
答案
我想没关系。
通过格式化结果检查
SELECT to_char(date_field,'yyyy/mm/dd hh24:mi:ss') date_field FROM table_name;
另一答案
如果我们插入带有时间元素的日期,Oracle将保留时间元素。默认的Oracle日期格式是DD-MON-YYYY(或-YY),它不显示时间,但时间就在那里。
但是,您使用的客户端在其显示格式中包含时间元素,但它显示为午夜。请放心,这不是正常的Oracle行为。这是正常的Oracle行为:
SQL> insert into table_name
(date_field)
values
(to_date('2003/05/03 21:02:44', 'yyyy/mm/dd hh24:mi:ss')) 2 3 4
5 /
1 row created.
SQL> alter session set nls_date_format = 'DD-MON-YYYY HH24:MI:SS'
2 /
Session altered.
SQL> select * from table_name
2 /
DATE_FIELD
--------------------
03-MAY-2003 21:02:44
SQL>
您可能的解释:
- 你错了,你不是真的包括时间部分。
- 您在客户端中选择了错误的行,而没有看到您插入的行。
- 你的表有一个执行
:new.date_field := trunc(:new.date_field);
的前/后插入触发器。虽然我同意你所有的桌子都有这个你不知道的触发器似乎很神秘。 - Red Lectroids正在窃取时间元素,并将其走私到第7维度 。
另一答案
sql developer的默认日期格式是没有时间组件。更改您的设置用户属性|数据库| NLS(我不知道真正的englisch菜单条目)或发出BlueConga写的查询。
以上是关于ORACLE不会节省时间。为什么? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
是否可以让应用程序监听 Windows 音频输入以让系统节省电量?
SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase(代码片