Ако искате да видите датите с показани часове, без да прилагате маска за формат с to_char()
, трябва да промените своя NLS_DATE_FORMAT
. Ако приемем, че имате предвид Oracle SQL Developer, можете да направите това от Инструменти->Предпочитания, разгънете секцията База данни в панела вляво и изберете NLS:
В момента NLS_DATE_FORMAT
е настроен на DD-MON-RR
, което ще се показва днес като 16-MAY-14
. За да покажа пълната дата и час, може да го задам на YYYY-MM-DD HH24:MI:SS
. Може да искате да промените NLS_TIMESTAMP
формат също.
PL/SQL Developer също има опции за NLS под Инструменти->Предпочитания:
Можете да видите наличните модели за формат в документацията.
Ако пишете код, който ще или може някога да бъде изпълнен от някой друг, не разчитайте на имплицитно форматиране с помощта на тези параметри. Те са подходящи за ad hoc заявки във вашата собствена затворена среда, но може да се счупят по интересни начини, когато някой друг - с различни NLS настройки - ги стартира. За всичко, освен ad hoc заявки, наистина трябва да посочите маската, като използвате to_char(<column>, 'YYYY-MM-DD HH24:MI:SS')
или какъвто модел е подходящ. Това разбира се също означава, че получавате правилното форматиране за колоната; ако имате колони, които представляват само времена, тогава задаване на модела на формата на сесията и разчитането на това означава, че виждате всички 00:00:00
пъти, което често е просто шум.