Tento tutoriál vám ukáže, jak pomocí funkce to_date převést daný vstupní řetězec na datový typ data.
Funkce Orale to_date().
Funkce to_date() v Oracle vám umožňuje přetypovat daný řetězcový datový literál do typu data.
Syntaxe funkce:
TO_DATE(char [, fmt [, 'nlsparam' ] ])
Funkce přijímá tři hlavní argumenty:
- Prvním argumentem je char, který definuje vstupní datumový řetězec. Vstupní hodnota může být CHAR, VARCHAR2, NCHAR nebo NVARCHAR2.
- fmt – Druhý parametr je fmt. Tento parametr definuje formát modelu data a času vstupní hodnoty. Tento parametr můžete přeskočit, pokud má vstupní hodnota výchozí formát DD-MON-YY, například 01-JAN-2022.
Pokud je formát Julian, reprezentovaný jako J, pak vstupní hodnota musí být celočíselný typ.
Vstupní hodnota může být zahrnuta v následujících formátech:
- nlsparam – Nakonec se parametr nlsparam používá k určení jazyka pro data a měsíc v řetězci. Formát je NLS_DATE_FORMAT = jazyk. Oracle nastaví výchozí jazyk vaší relace.
Příklad použití funkce
Následují příklady funkce to_date v databázi Oracle:
Příklad 1 – Základní konverze
Níže uvedený příklad ukazuje, jak pomocí funkce to_date převést daný znakový řetězec na datum.
select to_date('10. ledna 2023', 'Dd. měsíc, YYYY')z duálu;
V tomto případě převedeme daný řetězec data na typ data ve formátu dd měsíc, RRRR.
Výsledná hodnota se zobrazí:
TO_DATE('JANUARY102023','MONTHDD,YYYY')2023-01-10
Příklad 2 – Převod data a času na typ data
Druhý příklad ukazuje, jak převést daný řetězec znaků na datum.
vyberte to_date(‘10. ledna 2023, 1:03’, ‘Dd. měsíc, RRRR, HH:MI P.M.’)
od dual;[/cc]
V tomto případě musíme zadat formát času jako HH:MI P.M.
Výsledný výstup je následující:
TO_DATE('JANUARY10,2023,1:03','MONTHDD,YYYY,HH:MIP.M.')2023-01-10 01:03:00
Příklad 3 – Zadání parametru jazyka
Zvažte níže uvedený příklad, který ukazuje, jak používat funkci to_date s parametrem nls_date_language.
select to_date('10. ledna 2023, 1:03', 'Dd. měsíc, YYYY, HH:MI P.M.', 'nls_date_language=American')z duálu;
To by mělo vrátit hodnotu:
2023-01-10 01:03:00Jakmile změníme jazyk relace jako:
alter session set nls_territory = 'Austrálie';Převeďte čas.
select to_date('10. ledna 2023, 1:03', 'Dd. měsíc, YYYY, HH:MI P.M.', 'nls_date_language=American')z duálu;
Závěr
V tomto příspěvku prozkoumáme použití funkce to_date v databázi Oracle k převodu daného vstupního data doslovného na typ data.