pl sql datetime format
Saznajte više o PL SQL Datetime Formatu i nekim korisnim funkcijama oko Datetime, Timestamp i Intervala:
U PL / SQL Okidači u PL SQL serije , saznali smo o njihovim vrstama, upotrebi i prednostima.
U ovom ćemo članku istražiti datum i vrijeme u PL / SQL-u i neke funkcije na vrstama podataka Datetime, Timestamp i Interval. Također, napravit ćemo neke osnovne operacije na Datetime i Intervalu.
Počnimo s raspravom !!
Što ćete naučiti:
PL SQL format vremena i vremena
PL / SQL ima tip podataka datuma / vremena koji nam omogućuje zadržavanje i izračunavanje datuma, intervala i vremena. Varijabla tipa datum ili vrijeme sadrži vrijednost koja se naziva DateTime. Varijabla koja čuva tip podataka intervala naziva se interval. Svaka od ovih vrsta podataka ima polja koja postavljaju vrijednost.
Tipovi podataka DateTime navedeni su u nastavku:
- VREMENSKI KAMP
- VREMENSKI KAMP SA VREMENSKIM ZONOM
- VREMENSKI KAMP SA LOKALNIM VREMENSKIM ZONOM
- DATUM
Tipovi podataka Interval navedeni su u nastavku:
- INTERVALNI DAN DO DRUGOG
- INTERVAL GODINA U MJESEC
DATUM
Datumi fiksne duljine pohranjeni su u tipu podataka DATUM. Sadrži vrijeme dana od ponoći u sekundama. Odjeljak s datumima upućuje na prvi dan ovog mjeseca, a vremenski odjeljak na ponoć. Sadrži podatke o datumu i vremenu u tipovima podataka o broju i znakovima.
SYSDATE je funkcija datuma koja dohvaća trenutno vrijeme i datum. Odgovarajući datumski raspon je od 1. siječnja 4712. pr. Kr. Do 31. prosinca 9999. Vrijednosti znakova u zadanom formatu (određene Oraclovim paramerom inicijalizacije NLS_DATE_FORMAT) pretvaraju se PL / SQL prirodno u vrijednosti DATE.
Na datume možemo primijeniti matematičke operacije poput zbrajanja i oduzimanja. PL / SQL tumači cjelobrojne literale u obliku dana. Na primjer, SYSDATE + 1 bod do sutra.
VREMENSKI KAMP
Vrsta podataka vremenske oznake je proširenje tipa podataka DATE. Koristi se za zadržavanje godine, mjeseca, sata i sekunde. Zadani format vremenske oznake određen je parametrom Oraclove inicijalizacije NLS_TIMESTAMP_FORMAT.
Sintaksa:
TIMESTAMP((precision))
Ovdje preciznost nije obvezni parametar i upućuje na broj broja znamenki koji se nalazi u razlomljenom dijelu polja sekundi. Preciznost bi trebala biti bilo koji cjelobrojni literal od 0 do 9. Zadana vrijednost postavljena je na 6.
VREMENSKI KAMP SA VREMENSKIM ZONOM
Ovaj je tip podataka proširenje tipa podataka TIMESTAMP i sadrži pomicanje vremenske zone. Pomicanje vremenske zone vremenska je razlika (u satima i minutama) između lokalnog vremena i univerzalnog koordiniranog vremena (UTC).
Zadana vremenska oznaka s formatom vremenske zone određena je parametrom inicijalizacije Oracle NLS_TIMESTAMP_TZ_FORMAT. Sintaksa:
TIMESTAMP((precision)) WITH TIME ZONE
Ovdje preciznost nije obvezni parametar i pokazuje na broj brojeva koji se nalazi u razlomljenom dijelu polja sekundi. Preciznost bi trebala biti bilo koji cjelobrojni literal od 0 do 9. Zadana vrijednost postavljena je na 6.
pitanja na razgovoru za pomoć na ulaznom stupnju
Vremensku zonu možemo spomenuti simbolima. Može biti dugog oblika poput 'US / Pacific' ili ukratko poput 'PDT' ili kombinacija oba. Stoga se ovaj tip podataka koristi za pokrivanje i izračunavanje podataka na različitim zemljopisnim lokacijama.
VREMENSKI KAMP SA LOKALNIM VREMENSKIM ZONOM
Vremenska oznaka s lokalnim tipom podataka vremenske zone produžetak je tipa podataka TIMESTAMP i sadrži pomicanje vremenske zone. Pomicanje vremenske zone vremenska je razlika (u satima i minutama) između lokalnog vremena i univerzalnog koordiniranog vremena (UTC).
Sintaksa:
TIMESTAMP ((precision)) WITH LOCAL TIME ZONE
Ovdje preciznost nije obvezni parametar i upućuje na broj broja znamenki koji se nalazi u razlomljenom dijelu polja drugog. Preciznost bi trebala biti bilo koji cjelobrojni literal od 0 do 9. Zadana vrijednost postavljena je na 6.
VREMENSKI VRIJEME S LOKALNIM VREMENSKIM ZONOM razlikuje se od VREMENSKOG VRIJEME S VREMENSKIM ZONOM zbog činjenice da dok u bazu podataka unosimo vrijednost, vrijednost je postavljena na vremensku zonu baze podataka, a pomicanje vremenske zone se ne zadržava u stupcu baze podataka. Međutim, po dohvaćanju vrijednosti ona se vraća u sesiji lokalne vremenske zone.
INTERVAL GODINA U MJESEC
Ova vrsta podataka koristi se za pohranu i izračunavanje razdoblja godina i mjeseci.
Sintaksa:
INTERVAL YEAR ((precision)) TO MONTH
Ovdje je preciznost broj broja znamenki u polju godine. Preciznost bi trebala biti bilo koji cjelobrojni literal od 0 do 4. Zadana vrijednost postavljena je na 2.
INTERVAL GODINE DO DRUGE
Interval godina do drugi tip podataka koristi se za pohranu i izračunavanje intervala dana, sati, minuta i sekundi.
Sintaksa:
INTERVAL DAY ((l_precision)) TO SECOND ((fractional_s_precision))
Evo, l_preciznost i frakcijska_s_preciznost broj su broja znamenki u polju dana, odnosno sekundi.
Preciznost bi trebala biti bilo koji cjelobrojni literal od 0 do 9. Zadane vrijednosti postavljene su na 2 odnosno 6.
Vrijednosti polja: datum i vrijeme
- DRUGI: Vrijednosti za važeći raspon DateTime su od 00 do 59,9 (m) gdje m označava sekunde s razlomkom vremena. Vrijednosti za važeći raspon intervala su od 00 do 59,9 (m) gdje m označava razlomljene sekunde intervala.
- MINUTA: Vrijednosti za važeći raspon datuma su od 00 do 59. Vrijednosti za važeći raspon intervala su od 0 do 59.
- SAT: Vrijednosti za važeći raspon datuma su od 00 do 23. Vrijednosti za važeći raspon intervala su od 0 do 23.
- DAN: Vrijednosti za važeći raspon DateTime su od 01 do 31 (ograničene vrijednostima GODINE i MJESECA, prema pravilima lokalnog kalendara). Vrijednost za važeći raspon intervala je bilo koji cijeli broj koji nije nula.
- MJESEC: Vrijednosti za važeći raspon datuma su od 01 do 12. Vrijednosti za važeći raspon intervala su od 0 do 11.
- GODINA: Vrijednosti za važeći raspon DateTime su od -4712 do 9999, ne uključujući godinu 0. Vrijednost za važeći raspon intervala je bilo koji cijeli niz koji nije nula.
- TIMEZONE_HOUR: Vrijednosti važećeg raspona datuma i vremena su od -12 do 14, uključuje promjene ljetnog računanja vremena. To se ne odnosi na važeći raspon intervala.
- TIMEZONE_MINUTE: Vrijednosti za važeći raspon datuma su od 00 do 59. To se ne odnosi na važeći raspon intervala.
- TIMEZONE_REGION: Vrijednosti za važeći raspon datuma i vremena nisu primjenjive za DATUM ili VRIJEME. To nije primjenjivo za važeći raspon intervala.
- TIMEZONE_ABBR: Vrijednosti za važeći raspon datuma i vremena nisu primjenjive za DATUM ili VRIJEME. To se ne odnosi na važeći raspon intervala.
PL SQL funkcije u datumu i vremenu
Ovdje m i n sadrže vrijednosti datuma i vremena.
Sl br. | Ime | Svrhe |
---|---|---|
7 | SYSDATE () | Dohvaća trenutni datum i vrijeme. |
1 | POSLJEDNJI_DAN (m) | Dohvaća zadnji dan u mjesecu. |
dva | DODAJ_MJESECI (m, n) | Zbraja m i n mjeseci. |
3 | MJESECI_MEĐU (m, n) | Dohvaća broj mjeseci između m i n. |
4 | NEXT_DAY (m, dan) | Dohvaća datum i datum sljedećeg dana nakon m. |
5 | SLJEDEĆI PUT | Dohvaća vrijeme / dan iz korisničke vremenske zone. |
6 | KRUG (m (, jedinica)) | Zaokružuje m. |
8 | TRUNC (m (, jedinica)) | Krnji m. |
PL SQL funkcije u vremenskoj oznaci
Ovdje m sadrži vrijednost vremenske oznake.
Sl br. | Ime | Svrhe |
---|---|---|
7 | TO_TIMESTAMP_TZ (m, (format)) | Pretvara niz m u VREMENSKI KAMPER SA VREMENSKIM ZONOM. |
1 | CURRENT_TIMESTAMP () | Dohvaća VREMENSKI KAMPAR SA VREMENSKIM ZONOM koji ima trenutnu sesiju i vremensku zonu sesije. |
dva | FROM_TZ (m, vremenska zona) | Pretvara m TIMESTAMP i spominje time_zone u TIMESTAMP S TIMEZONE. |
3 | LOKALNI VREMENSKI KAMP () | Dohvaća TIMESTAMP koji ima lokalno vrijeme u vremenskoj zoni sesije. |
4 | SYSTEMTIMESTAMP () | Dohvaća VREMENSKI KAMPAR SA VREMENSKIM ZONOM koji ima trenutno vrijeme baze podataka i vremensku zonu baze podataka. |
5 | SYS_EXTRACT_UTC (m) | Pretvara m TIMESTAMP SA TIMEZONEOM u TIMESTAMP koji ima datum i vrijeme u UTC. |
6 | TO_TIMESTAMP (m, (format)) | Pretvara niz m u TIMESTAMP. |
Implementacija koda s funkcijama Datetime i Timestamp:
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; /
Izlaz gornjeg koda:
PL SQL funkcije u intervalu
Sl br. | Ime | Svrhe |
---|---|---|
1 | NUMTODSINTERVAL (m, interval) | Pretvara broj m u INTERVALNI DAN U DRUGI. |
dva | NUMTOYMINTERVAL (m, interval) | Pretvara broj m u INTERVAL GODINU U MJESEC. |
3 | TO_DSINTERVAL (m) | Pretvara niz m u INTERVALNI DAN U DRUGI. |
4 | TO_YMINTERVAL (m) | Pretvara niz m u INTERVAL GODINU U MJESEC. |
Aritmetičke operacije u vremenu i intervalu
PL / SQL vam omogućuje stvaranje izraza DateTime i intervala.
Popis operatora koji se mogu primijeniti su:
- Ako je prvi operand DateTime, a drugi je interval, a na njih želimo primijeniti (+) operator, vrijednost rezultata je tipa DateTime.
- Ako je prvi operand DateTime, a drugi je interval, a na njih želimo primijeniti (-) operator, vrijednost rezultata je tipa DateTime.
- Ako je prvi operand interval, a drugi je DateTime, a na njih želimo primijeniti (+) operator, vrijednost rezultata je tipa DateTime.
- Ako je prvi operand DateTime, a drugi operater DateTime, i na njih želimo primijeniti (-) operator, vrijednost rezultata je intervalskog tipa.
- Ako je prvi operand interval, a drugi je interval, a na njih želimo primijeniti (+) operator, vrijednost rezultata je intervalskog tipa.
- Ako je prvi operand interval, a drugi je interval, a na njih želimo primijeniti (-) operator, vrijednost rezultata je intervalskog tipa.
- Ako je prvi operand intervalni, a drugi operativni brojčani, a na njih želimo primijeniti (*) operator, vrijednost rezultata je intervalskog tipa.
- Ako je prvi operand numerički, a drugi je interval, a na njih želimo primijeniti (*) operator, vrijednost rezultata je intervalskog tipa.
- Ako je prvi operand intervalni, a drugi operativni brojčani, a na njih želimo primijeniti (/) operator, vrijednost rezultata je intervalskog tipa.
Implementacija koda s nekim aritmetičkim operacijama u Datetime i Intervalu.
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;
Izlaz gornjeg koda:
Objašnjenje gornjeg koda:
- U kodu, (‘1600 5: 20: 1’) znači 1600 dana, 5 sati, 20 minuta i 1 sekundu .
- U prvom izlazu prvi je operand DateTime, a drugi je interval. Kad smo ih dodali, dobili smo datum kao 24-DEC s vremenom u AM.
- U drugom izlazu, prvi je operand DateTime, a drugi je interval. Pri oduzimanju prvog od drugog dobili smo datum 20.-MAR-a s vremenom u PM.
Često postavljana pitanja i odgovori
P # 1) Koja je trenutna vremenska oznaka?
Odgovor: Trenutna vremenska oznaka ili CURRENT_TIMESTAMP opisuje vremensku oznaku koja ovisi o očitanju vremena dnevnog sata tijekom izvršavanja SQL izraza na poslužitelju.
P # 2) Što Sysdate vraća u Oracleu?
Odgovor: Funkcija Sysdate () dohvaća trenutni datum i vrijeme konfigurirane u operacijskom sustavu u kojem se nalazi baza podataka. Tip podataka koja se vraća je DATUM.
P # 3) Koja će PL / SQL funkcija dati trenutni datum i vrijeme sustava?
Odgovor: PL / SQL funkcija koja daje trenutni datum i vrijeme sustava je SYSDATE ().
P # 4) Što je DUAL SQL?
Odgovor: DUAL je tablica baze podataka koju je Oracle stvorio prema zadanim postavkama zajedno s rječnikom podataka. Sadrži jedan redak i jedan stupac. DUAL je u vlasništvu SYS-a, ali mogu ga koristiti svi korisnici.
pitanja za intervju na angularjs za iskusne
P # 5) Kako deklarirate datumsku varijablu u PL SQL-u?
Odgovor: Datumsku varijablu možemo deklarirati u PL / SQL s dolje navedenom sintaksom:
DECLARE stdt DATE := to_date ('06/06/2006', 'DD/MM/YYYY');
P # 6) Koji je format datuma u Oracleu?
Odgovor: Standardni format datuma u Oracleu za ulaz i izlaz je ‘DD / MON / YY’. To je konfigurirano vrijednošću u parametru NLS_DATE_FORMAT.
Zaključak
U ovom vodiču za PL SQL Datetime Format detaljno smo razgovarali o nekim osnovnim konceptima PL / SQL datuma i vremena koji su ključni za njihovu upotrebu u programiranju.
Obradili smo sljedeće teme navedene u nastavku:
- Datum i vrijeme.
- Funkcije oko datuma, vremenskog žiga i intervala.
- Aritmetičke operacije na datumu i intervalu.
- Vrijednosti polja u datumu i intervalu.
Preporučena literatura
- Funkcije datuma i vremena u C ++ s primjerima
- Python DateTime Vodič s primjerima
- Vodič za C # DateTime: Rad s datumom i vremenom u C # s primjerom
- Podprogrami: PL SQL postupci i funkcije s primjerima
- VBScript datumske funkcije: funkcije formata datuma, dodavanja datuma i cDate
- PL SQL Vodič za početnike s primjerima | Što je PL / SQL