如何将时间插入DATE类型?

时间:2015-05-30 01:34:03

标签: sql oracle oracle-sqldeveloper oracle-apex

我使用TO_DATE函数插入了一个元组,但结果是' 05/01/2015'当我做查询。没有时间显示。有什么不对吗?

INSERT INTO course_section VALUES(1,'MWF',TO_DATE('10:00:00 A.M.','HH:MI:SS A.M.'));

如何解决?

2 个答案:

答案 0 :(得分:3)

就在那里。 DATE列实际上是日期和时间,精确到秒。如果您未指定日期部分,则默认为当月的第一天。

显示日期的默认Oracle格式为DD-MON-RR,即天数/月短名/年世纪翻转

要获得时间,请使用TO_CHAR功能指定自定义格式。要查看使用24小时制的时间,请执行以下操作(x是您的日期列):

SELECT TO_CHAR(x, 'HH24:MI:SS') FROM course_section;

要查看使用AM / PM的12小时制时间,请执行以下操作:

SELECT TO_CHAR(x, 'HH:MI:SS AM') from course_selection;

或者您可以在格式字符串中使用PM代替AM;你会得到相同的结果:

SELECT TO_CHAR(x, 'HH:MI:SS PM') FROM course_selection;

答案 1 :(得分:0)

将NLS_DATE_FORMAT设置为您的程序或会话的规格

例如,在SQL * Plus中,添加到login.sql

更改会话集NLS_DATE_FORMAT ='DD-MON-YYYY HH24:MI:SS';

对于SQL Developer,请在Preferences>中设置。数据库> NLS

对应用进行编码时,如果要强制使用特定的日期格式,则使用TO_CHAR会很好。