Met Oracle Database kunnen we de TO_CHAR(datetime)
gebruiken functie om een datetime-waarde te retourneren, geformatteerd op een manier die we specificeren.
We kunnen deze functie gebruiken om de dagnaam van een datum te retourneren (evenals andere delen van de datetime-waarde).
Naam volledige dag
Als het gaat om het retourneren van de dagnaam van een datum, hebben we de mogelijkheid om de volledige dagnaam of de verkorte versie ervan te krijgen.
Om de volledige dagnaam te krijgen, de DAY
formaatelement doet het:
SELECT TO_CHAR(DATE '2037-10-03', 'DAY')
FROM DUAL;
Resultaat:
SATURDAY
Korte dagnaam
Gebruik DY
. om de afgekorte dagnaam te krijgen :
SELECT TO_CHAR(DATE '2037-10-03', 'DY')
FROM DUAL;
Resultaat:
SAT
Hoofdlettergebruik
We kunnen hoofdletters gebruiken als we dat willen. Dit bepaalt het hoofdlettergebruik van de output:
SELECT
TO_CHAR(DATE '2037-10-03', 'Day') AS "Day",
TO_CHAR(DATE '2037-10-03', 'day') AS "day",
TO_CHAR(DATE '2037-10-03', 'Dy') AS "Dy",
TO_CHAR(DATE '2037-10-03', 'dy') AS "dy"
FROM DUAL;
Resultaat:
Day day Dy dy ____________ ____________ ______ ______ Saturday saturday Sat sat
Taal
De taal van de dagnaam 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 format-elementen die indien nodig gespelde waarden retourneren.
Hier is een voorbeeld van het instellen van de NLS_DATE_LANGUAGE
parameter naar een andere taal:
ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';
Resultaat:
Session altered.
Als we nu de dagnaam van een datum retourneren, wordt deze geretourneerd in de taal die we zojuist hebben opgegeven:
SELECT
TO_CHAR(DATE '2037-10-03', 'DAY') AS "Full Day Name",
TO_CHAR(DATE '2037-10-03', 'DY') AS "Short Day Name"
FROM DUAL;
Resultaat:
Full Day Name Short Day Name ________________ _________________ SAMSTAG SA
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',
'Day',
'NLS_DATE_LANGUAGE = Spanish'
)
FROM DUAL;
Resultaat:
Sábado
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.