Tento tutoriál vám ukáže, ako použiť funkciu to_date na konverziu daného vstupného reťazca na dátový typ dátumu.
Funkcia Orale to_date().
Funkcia to_date() v Oracle vám umožňuje pretypovať daný reťazcový dátumový literál do typu dátumu.
Syntax funkcie:
TO_DATE(char [, fmt [, 'nlsparam' ] ])
Funkcia akceptuje tri hlavné argumenty:
- Prvým argumentom je char, ktorý definuje vstupný dátumový reťazec. Vstupná hodnota môže byť CHAR, VARCHAR2, NCHAR alebo NVARCHAR2.
- fmt – Druhý parameter je fmt. Tento parameter definuje formát modelu dátumu a času vstupnej hodnoty. Tento parameter môžete preskočiť, ak má vstupná hodnota predvolený formát DD-MON-RR, napríklad 01-JAN-2022.
Ak je formát Julian, reprezentovaný ako J, potom vstupná hodnota musí byť typu celé číslo.
Vstupná hodnota môže byť zahrnutá v nasledujúcich formátoch:
- nlsparam – Nakoniec sa parameter nlsparam používa na určenie jazyka pre údaje a mesiac v reťazci. Formát je NLS_DATE_FORMAT = jazyk. Oracle predvolene použije predvolený jazyk vašej relácie.
Príklad použitia funkcie
Nasledujú príklady funkcie to_date v databáze Oracle:
Príklad 1 – Základná konverzia
Príklad nižšie ukazuje, ako použiť funkciu to_date na konverziu daného znakového reťazca na dátum.
select to_date('10. január 2023', 'Dd. mesiac, RRRR')z duálneho;
V tomto prípade konvertujeme daný dátumový reťazec na typ dátumu pomocou formátu dd mesiac, RRRR.
Výsledná hodnota sa zobrazí:
TO_DATE('JANUARY102023','MONTHDD,YYYY')2023-01-10
Príklad 2 – Prevod dátumu a času na typ dátumu
Druhý príklad ilustruje, ako previesť daný reťazec znakov na dátum.
select to_date(‘10. január 2023, 1:03’, ‘Dd. mesiac, RRRR, HH:MI P.M.’)
z duálneho;[/cc]
V tomto prípade musíme zadať formát času ako HH:MI P.M.
Výsledný výstup je takýto:
TO_DATE('JANUARY10,2023,1:03','MONTHDD,YYYY,HH:MIP.M.')2023-01-10 01:03:00
Príklad 3 – Určenie parametra jazyka
Zvážte príklad nižšie, ktorý demonštruje, ako používať funkciu to_date s parametrom nls_date_language.
select to_date('10. január 2023, 1:03', 'Dd. mesiac, YYYY, HH:MI P.M.', 'nls_date_language=American')z duálneho;
Toto by malo vrátiť hodnotu:
2023-01-10 01:03:00Keď zmeníme jazyk relácie takto:
alter session set nls_territory = 'Austrália';Preveďte čas.
select to_date('10. január 2023, 1:03', 'Dd. mesiac, YYYY, HH:MI P.M.', 'nls_date_language=American')z duálneho;
Záver
V tomto príspevku skúmame použitie funkcie to_date v databáze Oracle na konverziu daného vstupného dátumu doslovne na typ dátumu.