我希望将我的专栏时间视为'hh24:mi:ss',但即使我将其插入为to_date('13:00:00','hh24:mi:ss')。它仍显示为日期格式。我尝试了不同的转换方法,我不想改变会话。
这是我创建的表格:
CREATE TABLE Test
(
Name VARCHAR2(20),
Description Varchar2(20),
StudyTime Date,
SleepTime Date,
);
插入:
INSERT INTO Test
VALUES('JUDY','STUDYING AT ABC', (To_Date('01:00:00', 'HH24:MI:SS')),
(TO_DATE('06:35:00', 'HH:MI:SS')));
显示结果:
Judy,Studying at abc,11-Nov-2011,11-Nov-2011
感谢任何人的帮助!
答案 0 :(得分:5)
您的IDE或SQL * Plus设置显示的默认日期格式为DD-Mon-YYYY
。
即使您只是输入时间格式,oracle仍会将其视为完整的日期和时间,因此2011年11月11日的日期(您需要注意这一点!)。
当您选择所有用于显示的界面的列时,结果将显示日期列的字符表示,如果您尚未指定它将使用默认的NLS格式设置。 请参阅:http://www.adp-gmbh.ch/ora/admin/nls_levels.html
更改NLS日期格式设置或使用TO_CHAR
指定您希望结果的格式。
尝试:
SELECT name,
description,
TO_CHAR(studytime, 'HH24:MI:SS') as studytime,
TO_CHAR(sleeptime, 'HH:MI:SS') as sleeptime
FROM test;
N.B。我使用HH24
studytime
和HH
sleeptime
,就像您在输入值时的示例中所做的那样。
这应该以正确的格式显示它。