Hvis du også vil se datoer med klokkeslæt uden at anvende en formatmaske med to_char()
, skal du ændre din NLS_DATE_FORMAT
. Forudsat at du mener Oracle SQL Developer, kan du gøre dette fra Værktøjer->Indstillinger, udvide databasesektionen i panelet til venstre og vælge NLS:
I øjeblikket NLS_DATE_FORMAT
er indstillet til DD-MON-RR
, som ville blive vist i dag som 16-MAY-14
. For at vise den fulde dato og klokkeslæt kan jeg indstille det til YYYY-MM-DD HH24:MI:SS
. Du vil måske ændre NLS_TIMESTAMP
format også.
PL/SQL-udvikler har også NLS-indstillinger under Værktøjer->Indstillinger:
Du kan se de tilgængelige formatmodeller i dokumentationen.
Hvis du skriver kode, der vil eller nogensinde kan blive udført af en anden, skal du ikke stole på implicit formatering ved hjælp af disse parametre. De er fine til ad hoc-forespørgsler i dit eget lukkede miljø, men de kan gå i stykker på interessante måder, når en anden - med andre NLS-indstillinger - kører dem. For alt undtagen ad hoc-forespørgsler bør du virkelig angive masken ved at bruge to_char(<column>, 'YYYY-MM-DD HH24:MI:SS')
eller hvilken model der er passende. Det betyder selvfølgelig også, at du får den rigtige formatering til kolonnen; hvis du har kolonner, der kun repræsenterer tider, skal du indstille sessionens formatmodel og stole på, at du ser alle 00:00:00
gange, hvilket ofte bare er støj.