Skip to content

Archives

  • Leden 2022
  • Prosinec 2021
  • Listopad 2021
  • Říjen 2021
  • Září 2021

Categories

  • Žádné rubriky
Trend RepositoryArticles and guides
Articles

Tutoriál pro Oracle DBA

On 1 ledna, 2022 by admin
Formátování DAT v Oracle
  • Datové funkce a operátory.
  • SYSDATE Příklad
  • CURRENT_DATE Příklad
  • SYSTIMESTAMP Příklad
  • MODELY FORMÁTU DATA
  • TO_DATE Příklad
  • ADD_MONTHS
  • MONTHS_BETWEEN
  • LAST_DAY
  • NEXT_DAY
  • EXTRACT

Datové funkce a operátory.

Pro zobrazení systémového data a času použijte následující funkce :

CURRENT_DATE :vrací aktuální datum v časovém pásmu relace, v hodnotě gregoriánského kalendáře datového typu
DATE
SYSDATE :Vrací aktuální datum a čas.
SYSTIMESTAMP :Funkce SYSTIMESTAMP vrací systémové datum včetně zlomků sekund a časového pásma
databáze. Vrací typ TIMESTAMP WITH TIME ZONE.

SYSDATE Příklad

Pro zobrazení aktuálního systémového data a času zadejte následující dotaz.

select sysdate from dual;
SYSDATE
——-
8-AUG-03

Formát, ve kterém se datum zobrazí, závisí na parametru NLS_DATE_FORMAT.

Například nastavte NLS_DATE_FORMAT na následující formát

alter session set NLS_DATE_FORMAT=’DD-MON-YYYY HH:MIpm‘;

Poté zadejte následující příkaz

select sysdate from dual;
SYSDATE
——————
8-AUG-2003 03:05:00

Výchozí nastavení NLS_DATE_FORMAT je DD-MON-YY

CURRENT_DATE Příklad

Pro zobrazení aktuálního systémového data a času s časovým pásmem použijte funkci CURRENT_DATE

ALTER SESSION SET TIME_ZONE = ‚-4:0‘;
ALTER SESSION SET NLS_DATE_FORMAT = ‚DD-MON-YYYY HH24:MI:SS‘;
SELECT SESSIONTIMEZONE, CURRENT_DATE FROM DUAL;
SESSIONTIMEZONE CURRENT_DATE
————— ——————–
-04:00 22-APR-2003 14:15:03
ALTER SESSION SET TIME_ZONE = ‚-7:0‘;
SELECT SESSIONTIMEZONE, CURRENT_DATE FROM DUAL;
SESSIONTIMEZONE CURRENT_DATE
————— ——————–
-07:00 22-APR-2003 09:15:33

SYSTIMESTAMP Příklad

Pro zobrazení aktuálního systémového data a času se zlomky sekund s časovou zónou zadejte následující příkaz

select systimestamp from dual;
SYSTIMESTAMP
——————————-
22-APR-03 08.38.55.538741 AM -07:00

MODELY FORMÁTU DATA

Pro převedení data na jiný formát řetězce můžete použít funkci TO_CHAR s formátem data. Například pro zobrazení aktuálního dne můžete zadat následující dotaz

Vyberte to_char(sysdate,’DAY‘) „Dnes“ FROM DUAL;
TODAY
——-
THURSDAY

Chcete-li převést znakovou hodnotu, která je v jiném než výchozím formátu data, na hodnotu data, můžete použít funkci TO_DATE s formátem data na datum

Stejně jako tento model formátu „DAY“ existuje v systému Oracle mnoho dalších modelů formátu data. V následující tabulce jsou uvedeny modely formátu data.

.

.

.

FORMÁT

VÝZNAM

D

Den v týdnu

DD

Den v měsíci

DDD

Den v roce

DEN

Celý den např. ‚Pondělí‘, ‚Úterý‘, ‚Středa‘

DEN

Den na tři písmena např. ‚PO‘, ‚ÚTERÝ‘,’FRI‘

W

Týden v měsíci

WW

Týden v roce

MM

Měsíc ve dvou číslicích (1-Jan, 2-únor,…12-Prosinec)

Měsíc

Měsíc ve třech znacích jako „leden“, „únor“, „duben“

Měsíc

Úplný měsíc jako „leden“, „únor“, „duben“

RM

Měsíc v římských znacích (I-XII, I-Jan, II-Feb,….XII-Dec)

Q

Čtvrtina měsíce

YY

Poslední dvě číslice roku.

YYYY

Celý rok

YEAR

Rok ve slovech jako „devatenáct devadesát devět“

HH

Hodiny ve formátu 12 hodin

HH12

Hodiny ve formátu 12 hodin

H24

Hodiny ve 24hodinovém formátu

MI

Minuty

SS

Sekundy

FF

Frakční sekundy

SSSSS

Milisekundy

J

Julův den i.e Dny od 1. ledna 4712 př. n. l. do dnešního dne

RR

Pokud je rok menší než 50 Předpokládá rok jako 21. století. Pokud je rok větší než 50, pak předpokládá rok ve 20. století.

sufixes

TH

Vrátí th, st, rd nebo nd podle vedoucího čísla jako 1st , 2. 3. 4.

SP

Vypíše vedoucí číslo

AM nebo PM

Vrátí AM nebo PM podle času

SPTH

Vrátí hláskované pořadové číslo. Pro. Příklad První, Čtvrtý

Příklad pro zobrazení dnešního data v následujícím formátu

Pátek, 7. března 2014

Dejte následující příkaz

select to_char(sysdate,’Day, ddth Month, yyyy‘) „Dnes“ z dual;

TODAY
————————
Pátek, 7. března 2014

Příklad chcete zobrazit data nástupu všech zaměstnanců v následujícím formátu

Pátek, 8. srpna 2003

Pak zadejte následující dotaz.

select to_char(hire_date,’Day, ddth Month, yyyy‘) from emp;

TO_DATE Příklad

Funkce TO_DATE slouží k převodu řetězců na hodnoty data. Například chcete zjistit, jaký byl den 15. srpna 1947. Pomocí funkce to_date nejprve převedete řetězec na hodnotu data a poté tuto hodnotu předáte funkci to_char, abyste získali den.

select to_char(to_date(’15-aug-1947′,’dd-mon-yyyy‘),’Day‘)
z dual;
TO_CHAR(
——–
Pátek

Chcete-li zjistit, kolik dní uplynulo od 15. srpna 1947, pak zadejte následující dotaz

select sysdate-to_date(’15-aug-1947′,’dd-mon-yyyy‘) from dual;

Nyní chceme zjistit, které datum nastane za 45 dní

select sysdate+45 from dual;
SYSDATE
——-
06-JUN-2003

ADD_MONTHS

Chceme-li zjistit, které datum nastane za 6 měsíců od teď, můžeme použít funkci ADD_MONTHS

Select ADD_MONTHS(SYSDATE,6) from dual;
ADD_MONTHS
———-
22-OCT-2003

MONTHS_BETWEEN

Chceme-li zjistit, kolik měsíců uplynulo od určitého data, použijeme funkci MONTHS_BETWEEN.
Chcete-li například zjistit, kolik měsíců uplynulo od 15. srpna 1947, zadejte následující dotaz.

select months_between(sysdate,to_date(’15-aug-1947′))
from dual;
Months
——
616.553

Pro odstranění desetinné hodnoty použijte funkci truncate

select trunc(months_between(sysdate,to_date(’15-aug-1947′)))
from dual;
Months
——
616

LAST_DAY

Chcete-li zobrazit poslední datum měsíce daného data, použijte funkci LAST_DAY.

select LAST_DAY(sysdate) from dual;
LAST_DAY
——–
31-AUG-2003

NEXT_DAY

Chcete-li zjistit, kdy bude následující den , použijte funkci NEXT_DAY.
Příklad pro zobrazení, kdy bude příští sobota, zadejte následující dotaz

select next_day(sysdate) from dual;
NEXT_DAY
———–
09-AUG-2003

EXTRACT

Funkce EXTRACT datetime extrahuje a vrací hodnotu zadaného pole datetime z výrazu datetime nebo intervalové hodnoty. Při extrakci TIMEZONE_REGION nebo TIMEZONE_ABBR (zkratka) je vrácenou hodnotou řetězec obsahující příslušný název nebo zkratku časového pásma

Syntaxe funkce EXTRACT je

EXTRACT ( YEAR / MONTH / WEEK / DAY / HOUR / MINUTE / TIMEZONE FROM DATE)
Příklad
Následující příklad ukazuje použití funkce EXTRACT pro extrakci roku z aktuálního data.
select extract(year from sysdate) from dual;
EXTRACT
——-
2003

.

Napsat komentář Zrušit odpověď na komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Archivy

  • Leden 2022
  • Prosinec 2021
  • Listopad 2021
  • Říjen 2021
  • Září 2021

Základní informace

  • Přihlásit se
  • Zdroj kanálů (příspěvky)
  • Kanál komentářů
  • Česká lokalizace
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress