Als je datums met tijden wilt zien zonder een opmaakmasker toe te passen met to_char()
, moet u uw NLS_DATE_FORMAT
. wijzigen . Ervan uitgaande dat u Oracle SQL Developer bedoelt, kunt u dit doen vanuit Extra->Voorkeuren, de Database-sectie in het paneel aan de linkerkant uitvouwen en NLS selecteren:
Op dit moment NLS_DATE_FORMAT
is ingesteld op DD-MON-RR
, die vandaag zou worden weergegeven als 16-MAY-14
. Om de volledige datum en tijd te tonen, kan ik deze instellen op YYYY-MM-DD HH24:MI:SS
. Misschien wilt u de NLS_TIMESTAMP
. wijzigen formaat ook.
PL/SQL Developer heeft ook NLS-opties onder Extra->Voorkeuren:
U kunt de beschikbare formaatmodellen zien in de documentatie.
Als u code schrijft die ooit door iemand anders zal of kan worden uitgevoerd, vertrouw dan niet op impliciete opmaak met behulp van die parameters. Ze zijn prima voor ad-hocquery's in uw eigen afgesloten omgeving, maar ze kunnen op interessante manieren kapot gaan wanneer iemand anders - met andere NLS-instellingen - ze uitvoert. Voor alles behalve ad-hocvragen moet u het masker echt specificeren, met behulp van to_char(<column>, 'YYYY-MM-DD HH24:MI:SS')
of welk model dan ook geschikt is. Dit betekent natuurlijk ook dat je de juiste opmaak voor de kolom krijgt; als u kolommen heeft die alleen tijden vertegenwoordigen, dan stelt u het formaatmodel van de sessie in en vertrouwt u daarop dat u alle 00:00:00
ziet tijden, wat vaak alleen maar ruis is.