Отображение формата времени через Oracle - PullRequest
1 голос
/ 15 ноября 2011

Я хочу просмотреть время моего столбца как '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

Спасибо за помощь!

1 Ответ

5 голосов
/ 15 ноября 2011

В настройках IDE или SQL * Plus отображается формат даты по умолчанию DD-Mon-YYYY. Даже если вы вводите только формат времени, oracle по-прежнему будет видеть его как полную дату и время, следовательно, дату 11 ноября 2011 года (вы должны знать об этом!).

Когда вы затем выбираете все столбцы, какой бы интерфейс вы не использовали для отображения результатов, вам будет показано символьное представление столбцов даты, если вы не указали, что это такое, будут использоваться настройки формата 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, как вы делали в своем примере при вводе значений.

Это должно отобразить его в правильном формате.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...