In Oracle Database, de TO_CHAR(datetime)
stelt ons in staat om een datetime-waarde te retourneren, geformatteerd op een manier die we specificeren.
Een van de dingen die we kunnen doen is de naam van de maand teruggeven vanaf een datum.
Naam volledige maand
Als het gaat om het retourneren van de maandnaam van een datum, hebben we de mogelijkheid om de volledige maandnaam of de verkorte versie ervan te krijgen.
Gebruik de MONTH
. om de naam van de volledige maand te krijgen formaatelement:
SELECT TO_CHAR(DATE '2035-10-03', 'MONTH')
FROM DUAL;
Resultaat:
OCTOBER
Naam korte maand
Gebruik MON
. om de naam van de afgekorte maand te krijgen :
SELECT TO_CHAR(DATE '2035-10-03', 'MON')
FROM DUAL;
Resultaat:
OCT
Hoofdlettergebruik
We kunnen hoofdlettergebruik gebruiken om het hoofdlettergebruik van de uitvoer te bepalen:
SELECT
TO_CHAR(DATE '2035-10-03', 'Month') AS "Month",
TO_CHAR(DATE '2035-10-03', 'month') AS "month",
TO_CHAR(DATE '2035-10-03', 'Mon') AS "Mon",
TO_CHAR(DATE '2035-10-03', 'mon') AS "mon"
FROM DUAL;
Resultaat:
Month month Mon mon ____________ ____________ ______ ______ October october Oct oct
Taal
De taal van de maandnaam wordt ofwel expliciet bepaald met de NLS_DATE_LANGUAGE
initialisatieparameter of impliciet met de NLS_LANGUAGE
initialisatie parameter.
We kunnen expliciet de waarde van de NLS_LANGUAGE
. instellen parameter met de ALTER SESSION
uitspraak. Wanneer we dit doen, stelt het ook impliciet de waarde in van de NLS_DATE_LANGUAGE
parameter.
Echter, het instellen van de NLS_DATE_LANGUAGE
parameter verandert de waarde van de NLS_LANGUAGE
. niet parameter. Dit stelt ons in staat om een andere taal te specificeren voor opmaakelementen die, indien nodig, gespelde waarden teruggeven.
Hier is een voorbeeld van het instellen van de NLS_DATE_LANGUAGE
parameter naar een andere taal, en dan de naam van de maand opnieuw krijgen:
ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';
SELECT
TO_CHAR(DATE '2037-10-03', 'Month') AS "Full Month Name",
TO_CHAR(DATE '2037-10-03', 'Mon') AS "Short Month Name"
FROM DUAL;
Resultaat:
Full Month Name Short Month Name __________________ ___________________ Oktober Okt
De standaardtaal kan op functieniveau worden overschreven met een derde parameter die de taal specificeert:
ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';
SELECT
TO_CHAR(
DATE '2037-10-03',
'Month',
'NLS_DATE_LANGUAGE = Spanish'
)
FROM DUAL;
Resultaat:
Octubre
Er zijn veel meer formaatelementen beschikbaar voor het opmaken van datetime-waarden in Oracle. Zie Lijst van Datetime Format Elements in Oracle voor een volledige lijst.