Разработчика SQL возвращает только дату, а не время. Как мне это исправить?


вот что такое SQL Develoepr у меня, как в окне результатов и при экспорте:

CREATION_TIME       
------------------- 
27-SEP-12
27-SEP-12
27-SEP-12

вот что дает другая часть программного обеспечения, выполняющая тот же запрос/db:

CREATION_TIME       
------------------- 
2012-09-27 14:44:46 
2012-09-27 14:44:27 
2012-09-27 14:43:53 

как я могу получить SQL Developer, чтобы вернуть время тоже?

частичный ответ:

select TO_CHAR(creation_time,'DD-Mon-YYYY HH24:MI:SS') from 

Если кто-нибудь знает, как установить значение по умолчанию, чтобы показать полную информацию, пожалуйста, ответьте ниже.

6 141

6 ответов:

вы можете попробовать это?

перейдите в меню Сервис> Настройки > база данных > NLS и установите формат даты как MM/DD / YYYY HH24:MI:SS

формат даты также может быть установлен с помощью запроса ниже: -

alter SESSION set NLS_DATE_FORMAT = 'date_format'

например: alter SESSION set NLS_DATE_FORMAT = 'DD-MM-YYYY HH24: MI: SS'

чтобы расширить некоторые из предыдущих ответов, я обнаружил, что объекты Oracle DATE ведут себя иначе, чем объекты Oracle TIMESTAMP. В частности, если для параметра NLS_DATE_FORMAT задано значение доли секунды, то вся часть времени опущена.

  • формат "YYYY-MM-DD HH24:MI:SS" работает как ожидалось, для даты и метки времени
  • формат "YYYY-MM-DD HH24:MI:SSXFF" отображает только часть даты для даты, работает так, как ожидалось для отметки времени

мой личные предпочтения в установленные даты "гггг-ММ-ДД HH24:Ми:СС", и установить метку на "гггг-ММ-ДД HH24:Ми:SSXFF".

из инструментов > настройки > база данных > параметр NSL и установить формат даты как

DD-MON-RR HH: MI: SS

Это даст вам часы, минуты и секунды. Эй престо.

select
  to_char(CREATION_TIME,'RRRR') year, 
  to_char(CREATION_TIME,'MM') MONTH, 
  to_char(CREATION_TIME,'DD') DAY, 
  to_char(CREATION_TIME,'HH:MM:SS') TIME,
  sum(bytes) Bytes 
from 
  v$datafile 
group by 
  to_char(CREATION_TIME,'RRRR'), 
  to_char(CREATION_TIME,'MM'), 
  to_char(CREATION_TIME,'DD'), 
  to_char(CREATION_TIME,'HH:MM:SS') 
 ORDER BY 1, 2; 

ни один из этих ответов не будет работать для меня, а не параметр конфигурации NLS Preferences или оператор ALTER. Это был единственный подход, который работал в моем случае:

dbms_session.set_nls('nls_date_format','''DD-MM-YYYY HH24:MI:SS''');

* добавлено после оператора BEGIN

Я использую PL / SQL Developer v9. 03. 1641

надеюсь, это кому-то поможет!