sql >> Database >  >> RDS >> Oracle

Oracle-datumnotatie

Er is niet echt een standaard datumnotatie voor het product, de referentiegids stelt dat de standaard voor NLS_DATE_FORMAT op systeemniveau is gebaseerd op NLS_TERRITORY . Hoewel dit zegt dat de 'standaard' `DD-MON-RR' is, en ik denk dat dat is wat je krijgt als je geen waarde op databaseniveau opgeeft, althans op de platforms waaraan ik heb gewerkt.

Wanneer u een nieuwe database aanmaakt, kunnen de initialisatieparameters een specifieke NLS_DATE_FORMAT bevatten , en dat kan later ook worden gewijzigd.

Maar de NLS_DATE_FORMAT . op systeemniveau kan worden overschreven door de client, de sessie of in een TO_CHAR telefoongesprek. Je kunt kijken in v$nls_parameters om de systeemwaarde te zien, en nls_session_parameters om uw huidige sessiewaarde te zien. Je kunt dat veranderen met alter session als je wilt.

Ik ben er vrij zeker van dat je zult zien dat PL/SQL Developer de sessie NLS_DATE_FORMAT instelt tot MM/DD/YYYY ergens in zijn voorkeuren.

Over het algemeen is het beter om helemaal niet op die waarde te vertrouwen en altijd een expliciet formaatmasker te gebruiken voor weergave, b.v. TO_CHAR(<column>, 'YYYY-MM-DD HH24:MI:SS') .

Er is meer op NLS_DATE_FORMAT in de globaliseringsgids hier en hier ; en een beetje over datumweergave hier ; en een overzicht van de modelelementen van het datumformaat hier



  1. Kan ik een samengestelde index aanzetten bij gebruik van een left join?

  2. Slow ORDER BY in grote tafel

  3. Verschil tussen Select Unique en Select Distinct

  4. Kan geen toegangspunt vinden met de naam 'InterlockedIncrement' in DLL 'kernel32.dll' - [e-mail beveiligd] 64 bit