Oracle String k datu

Oracle String K Datu



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:00

Jakmile 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.