pl sql datetime format
Spoznajte PL SQL Datetime Format in nekatere uporabne funkcije okoli Datetime, Timestamp in Interval:
V PL / SQL Sprožilci v PL SQL serije , spoznali smo njihove vrste, uporabo in prednosti.
V tem članku bomo raziskali datum in čas v PL / SQL ter nekatere funkcije v podatkovnih tipih Datetime, Timestamp in Interval. Prav tako bomo izvedli nekaj osnovnih operacij na Datetime in Interval.
Začnimo z razpravo !!
Kaj se boste naučili:
PL SQL Datetime Format
PL / SQL ima podatkovni tip datum / čas, ki nam omogoča, da hranimo in izračunamo datume, intervale in čase. Spremenljivka vrste datum ali čas vsebuje vrednost, imenovano DateTime. Spremenljivka, ki hrani intervalni tip podatkov, se imenuje interval. Vsak od teh podatkovnih vrst ima polja, ki določajo vrednost.
Podatkovni tipi DateTime so navedeni spodaj:
- TIMESTAMP
- ČASOVNI KAMP S ČASOVNIM OBMOČJEM
- ČASOVNI KAMP Z LOKALNIM ČASOVNIM OBMOČJEM
- DATUM
Tipi podatkov Interval so navedeni spodaj:
- INTERVALNI DAN DO DRUGEGA
- INTERVALNO LETO DO MESECA
DATUM
Datumi s fiksno dolžino so shranjeni v podatkovnem tipu DATUM. Obsega čas dneva od polnoči v sekundah. Odsek z datumi kaže na prvi dan tega meseca, časovni odsek pa na polnoč. Vsebuje podatke o datumu in času tako v podatkovnih vrstah števila kot znakov.
SYSDATE je funkcija datuma, ki pridobi trenutni čas in datum. Primerno časovno obdobje je od 1. januarja 4712 pred našim štetjem do 31. decembra 9999 našega štetja. Vrednosti znakov v privzeti obliki (določene s parametrom inicializacije Oracle NLS_DATE_FORMAT) PL / SQL pretvorijo naravno v vrednosti DATE.
Na datume lahko uporabimo matematične operacije, kot sta seštevanje in odštevanje. PL / SQL interpretira celoštevilčne literale v obliki dni. Na primer SYSDATE + 1 točka do jutri.
TIMESTAMP
Podatkovni tip časovnega žiga je razširitev podatkovnega tipa DATE. Uporablja se za zadrževanje leta, meseca, ure in sekunde. Privzeti format časovnega žiga je določen s parametrom inicializacije Oracle NLS_TIMESTAMP_FORMAT.
Sintaksa:
TIMESTAMP((precision))Tu natančnost ni obvezen parameter in kaže na število števk, ki je v delnem delu sekundnega polja. Natančnost mora biti celoštevilčna dobesedna črka od 0 do 9. Privzeta vrednost je nastavljena na 6.
ČASOVNI KAMP S ČASOVNIM OBMOČJEM
Ta podatkovni tip je razširitev podatkovnega tipa TIMESTAMP in vsebuje premik časovnega pasu. Premik časovnega pasu je časovna razlika (v urah in minutah) med lokalnim časom in univerzalnim koordiniranim časom (UTC).
Privzeti časovni žig z obliko časovnega pasu je določen s parametrom inicializacije Oracle NLS_TIMESTAMP_TZ_FORMAT. Sintaksa:
TIMESTAMP((precision)) WITH TIME ZONETu natančnost ni obvezen parameter in kaže na število števk, ki je v delnem delu sekundnega polja. Natančnost mora biti celoštevilčna dobesedna črka od 0 do 9. Privzeta vrednost je nastavljena na 6.
brezplačna programska oprema za odpravljanje napak v registru
Časovni pas lahko omenimo s simboli. Lahko je dolge oblike, kot je „ZDA / Pacifik“, ali na kratko kot „PDT“ ali kombinacija obeh. Tako se ta vrsta podatkov uporablja za pokrivanje in računanje informacij na geografskih lokacijah.
ČASOVNI KAMP Z LOKALNIM ČASOVNIM OBMOČJEM
Časovni žig z lokalnim podatkovnim tipom časovnega pasu je razširitev podatkovnega tipa TIMESTAMP in vsebuje premik časovnega pasu. Premik časovnega pasu je časovna razlika (v urah in minutah) med lokalnim časom in univerzalnim koordiniranim časom (UTC).
Sintaksa:
TIMESTAMP ((precision)) WITH LOCAL TIME ZONETu natančnost ni obvezen parameter in kaže na število števk, ki je v delnem delu polja drugega. Natančnost mora biti celoštevilčna dobesedna črka od 0 do 9. Privzeta vrednost je nastavljena na 6.
TIMESTAMP Z LOKALNIM ČASOVNIM OBMOČJEM se razlikuje od TIMESTAMP S ČASOVNIM OBMOČJEM, ker medtem, ko v bazo vstavimo vrednost, je vrednost nastavljena na časovni pas baze podatkov in premik časovnega pasu ni zadržan v stolpcu baze podatkov. Po prevzemu vrednosti pa se vrne v seji lokalnega časovnega pasu.
INTERVALNO LETO DO MESECA
Ta podatkovni tip se uporablja za shranjevanje in izračun intervala let in mesecev.
Sintaksa:
INTERVAL YEAR ((precision)) TO MONTHTu je natančnost štetje števila števk v letnem polju. Natančnost mora biti celoštevilčna literala od 0 do 4. Privzeta vrednost je nastavljena na 2.
INTERVALNO LETO DO DRUGEGA
Podatkovna vrsta od leta do druge se uporablja za shranjevanje in izračun intervalov dni, ur, minut in sekund.
Sintaksa:
INTERVAL DAY ((l_precision)) TO SECOND ((fractional_s_precision))Tukaj l_natančnost in frakcijska_s_natančnost so število števk v polju z dnevi in sekundami.
Natančnost mora biti celoštevilčna dobesedna črka od 0 do 9. Privzete vrednosti so nastavljene na 2 oziroma 6.
Vrednosti polja: datum in čas
- DRUGI: Vrednosti za veljavno območje DateTime so od 00 do 59,9 (m), kjer m označuje delne sekunde. Vrednosti za veljavno območje intervala so od 00 do 59,9 (m), kjer m označuje intervalne delne sekunde.
- MINUTA: Vrednosti za veljavno območje DateTime so od 00 do 59. Vrednosti za veljavno območje intervalov so od 0 do 59.
- URA: Vrednosti za veljavno območje DateTime so od 00 do 23. Vrednosti za veljavno območje intervalov so od 0 do 23.
- DAN: Vrednosti za veljavno obdobje DateTime so od 01 do 31 (omejene z vrednostmi YEAR in MONTH v skladu s pravili krajevnega koledarja). Vrednost za veljavno območje intervala je katero koli celo število, ki ni nič.
- MESEC: Vrednosti za veljavno območje DateTime so od 01 do 12. Vrednosti za veljavno območje intervalov so od 0 do 11.
- LETO: Vrednosti za veljavno območje DateTime so od -4712 do 9999, ne vključuje pa leta 0. Vrednost veljavnega intervala je katero koli celo število, ki ni nič.
- TIMEZONE_HOUR: Vrednosti veljavnega obdobja DateTime so od -12 do 14, vključuje spremembe poletnega časa. To ne velja za veljavno območje intervalov.
- TIMEZONE_MINUTE: Vrednosti za veljavno območje DateTime so od 00 do 59. To ne velja za veljavno območje intervalov.
- TIMEZONE_REGION: Vrednosti za veljaven obseg DateTime ne veljajo za DATE ali TIMESTAMP. To ne velja za veljavno intervalno območje.
- TIMEZONE_ABBR: Vrednosti za veljaven obseg DateTime ne veljajo za DATE ali TIMESTAMP. To ne velja za veljavno območje intervalov.
PL SQL funkcije v Datetime
Tu vsebujeta m in n vrednosti datuma in časa.
| Sl št. | Ime | Namen |
|---|---|---|
| 7. | SYSDATE () | Pridobi trenutni datum. |
| 1. | LAST_DAY (m) | Pridobi zadnji dan v mesecu. |
| dva | DODAJ_MESEČ (m, n) | Povzetek m in n mesecev. |
| 3. | MONTHS_BETWEEN (m, n) | Pridobi število mesecev med m in n. |
| 4. | NEXT_DAY (m, dan) | Pridobi datum in datum naslednjega dne po m. |
| 5. | NASLEDNJIČ | Pridobi čas / dan iz uporabniškega časovnega pasu. |
| 6. | KROG (m (, enota)) | Kroge m. |
| 8. | TRUNC (m (, enota)) | Skrajša m. |
PL SQL funkcije v časovnem žigu
Tu m vsebuje vrednost časovnega žiga.
| Sl št. | Ime | Namen |
|---|---|---|
| 7. | TO_TIMESTAMP_TZ (m, (format)) | Pretvori niz m v TIMESTAMP Z TIMEZONE. |
| 1. | CURRENT_TIMESTAMP () | Pridobi TIMESTAMP S TIMEZONE, ki ima trenutno sejo in časovni pas seje. |
| dva | FROM_TZ (m, časovni pas) | Pretvori m TIMESTAMP in omeni time_zone v TIMESTAMP WITH TIMEZONE. |
| 3. | LOCALTIMESTAMP () | Pridobi TIMESTAMP z lokalnim časom v časovnem pasu seje. |
| 4. | SYSTEMTIMESTAMP () | Pridobi TIMESTAMP S TIMEZONE s trenutnim časom baze podatkov in časovnim pasom baze podatkov. |
| 5. | SYS_EXTRACT_UTC (m) | Pretvori m TIMESTAMP S TIMEZONE v TIMESTAMP z datumom in uro v UTC. |
| 6. | TO_TIMESTAMP (m, (format)) | Pretvori niz m v TIMESTAMP. |
Izvajanje kode s funkcijami datuma in časa:
BEGIN /* get the current date and time */ DBMS_OUTPUT.put_line ('The output of SYSDATE is:'|| SYSDATE); /* get the TIMESTAMP WITH TIME ZONE with database time and time zone */ DBMS_OUTPUT.put_line ('The output of SYSTIMESTAMP is:' ||SYSTIMESTAMP); /* get the TIMESTAMP with local time in session time zone */ DBMS_OUTPUT.put_line ('The output of LOCALTIMESTAMP:' ||LOCALTIMESTAMP); /*get the TIMESTAMP WITH TIME ZONE with present session time with session time zone */ DBMS_OUTPUT.put_line ('The output of CURRENT_TIMESTAMP:'||CURRENT_TIMESTAMP); /*convert string to TIMESTAMP*/ DBMS_OUTPUT.put_line ('The output of TIMESTAMP:'||TO_TIMESTAMP('12-JAN-2011')); /*to add months*/ DBMS_OUTPUT.put_line ('The output of ADD_MONTHS:'||ADD_MONTHS(SYSDATE,1)); /*to get date and time of following day*/ DBMS_OUTPUT.put_line ('The output of NEXT_DAY:'||NEXT_DAY(SYSDATE,'MONDAY')); /*to truncate date */ DBMS_OUTPUT.put_line ('The output of TRUNC:'||TRUNC(SYSDATE)); /*to get the last day of month */ DBMS_OUTPUT.put_line ('The output of LAST_DAY:'||LAST_DAY (SYSDATE)); END; / Izhod zgornje kode:

PL SQL funkcije v intervalih
| Sl št. | Ime | Namen |
|---|---|---|
| 1. | NUMTODSINTERVAL (m, interval) | Število m spremeni v INTERVALNI DAN V DRUGI. |
| dva | NUMTOYMINTERVAL (m, interval) | Število m spremeni v INTERVAL LETO V MESEC. |
| 3. | TO_DSINTERVAL (m) | Pretvori niz m v INTERVAL DAY TO SECOND. |
| 4. | TO_YMINTERVAL (m) | Pretvori niz m v INTERVALNO LETO DO MESECA. |
Aritmetične operacije v datumu in času
PL / SQL vam omogoča ustvarjanje izrazov DateTime in interval.
Seznam operaterjev, ki jih je mogoče uporabiti, je:
- Če je prvi operand DateTime, drugi operand pa interval in želimo nanje uporabiti operater (+), je vrednost rezultata tipa DateTime.
- Če je prvi operand DateTime, drugi operand pa interval in na njih želimo uporabiti operater (-), je vrednost rezultata tipa DateTime.
- Če je prvi operand intervalni, drugi operand pa DateTime in želimo na njih uporabiti operater (+), je vrednost rezultata tipa DateTime.
- Če je prvi operand DateTime, drugi pa DateTime in želimo na njih uporabiti (-) operator, je vrednost rezultata intervalskega tipa.
- Če je prvi operand interval, drugi operand pa interval in želimo nanje uporabiti operater (+), je vrednost rezultata intervalskega tipa.
- Če je prvi operand interval, drugi operand pa interval in na njih želimo uporabiti operator (-), je vrednost rezultata intervalskega tipa.
- Če je prvi operand intervalni, drugi pa številčni in želimo nanje uporabiti operater (*), je vrednost rezultata intervalskega tipa.
- Če je prvi operand številski, drugi operand pa interval in na njih želimo uporabiti operater (*), je vrednost rezultata intervalskega tipa.
- Če je prvi operand intervalni, drugi pa numerični in želimo nanje uporabiti (/) operator, je vrednost rezultata intervalskega tipa.
Izvajanje kode z nekaterimi aritmetičnimi operacijami v Datetime in Interval.
DECLARE c_dt TIMESTAMP; r_dt TIMESTAMP; s_dt TIMESTAMP; BEGIN c_dt := SYSTIMESTAMP; r_dt:= c_dt + TO_DSINTERVAL ('1600 5:20:1'); DBMS_OUTPUT.PUT_LINE ('Addition of datetime and Interval:' ||r_dt); s_dt:= c_dt - TO_DSINTERVAL ('1600 5:20:1'); DBMS_OUTPUT.PUT_LINE ('Subtraction of datetime and Interval:' || s_dt); END; Izhod zgornje kode:

Pojasnilo zgornje kode:
- V kodi pomeni (‘1600 5: 20: 1’) 1600 dni, 5 ur, 20 minut in 1 sekundo .
- V prvem izhodu je prvi operand DateTime, drugi pa interval. Ko smo jih dodali, smo dobili datum kot 24. december s časom v AM.
- V drugem izhodu je prvi operand DateTime, drugi operand pa interval. Pri odštevanju prvega od drugega smo dobili datum 20. marca s časom v PM.
Pogosta vprašanja in odgovori
V # 1) Kakšen je trenutni časovni žig?
Odgovor: Trenutni časovni žig ali CURRENT_TIMESTAMP opisuje časovni žig, ki je odvisen od branja ure dneva med izvajanjem stavka SQL na strežniku.
V # 2) Kaj vrne Sysdate v Oracle?
Odgovor: Funkcija Sysdate () pridobi trenutni datum in čas, konfiguriran v operacijskem sistemu, v katerem je baza podatkov. Podatkovni tip vrednosti, ki ga vrne, je DATE.
V # 3) Katera funkcija PL / SQL bo podala trenutni sistemski datum in uro?
Odgovor: Funkcija PL / SQL, ki daje trenutni sistemski datum in uro, je SYSDATE ().
V # 4) Kaj je DUAL SQL?
Odgovor: DUAL je tabela zbirke podatkov, ki jo je Oracle privzeto ustvaril skupaj s podatkovnim slovarjem. Vsebuje eno vrstico in en stolpec. DUAL je v lasti SYS, vendar ga lahko uporabljajo vsi uporabniki.
V # 5) Kako v PL SQL deklarirate datumsko spremenljivko?
Odgovor: Datumsko spremenljivko lahko prijavimo v PL / SQL s spodnjo sintakso:
DECLARE stdt DATE := to_date ('06/06/2006', 'DD/MM/YYYY');V # 6) Kakšna je oblika datuma v Oracle?
Odgovor: Standardna oblika datuma v Oracle za vhod in izhod je „DD / MON / YY“. To je konfigurirano z vrednostjo v parametru NLS_DATE_FORMAT.
najboljše vohunske aplikacije za telefone android
Zaključek
V tej vadnici PL SQL Datetime Format smo podrobno obravnavali nekatere osnovne koncepte datuma in časa PL / SQL, ki so bistveni za njihovo uporabo pri programiranju.
Obravnavali smo naslednje teme:
- Datum in čas.
- Funkcije okoli datuma, časovnega žiga in intervala.
- Aritmetične operacije na datum in čas.
- Vrednosti polj v datumu in intervalu.
Priporočeno branje
- Datum in čas v C ++ z primeri
- Vadnica Python DateTime s primeri
- Vadnica za C # DateTime: Delo z datumom in časom v C # s primerom
- Podprogrami: PL SQL postopki in funkcije s primeri
- Datumske funkcije VBScript: funkcije za obliko zapisa datuma, datum dodajanja in cDate
- PL SQL Vadnica za začetnike s primeri | Kaj je PL / SQL