pl sql datetime format
Lær om PL SQL Datetime Format og noen nyttige funksjoner rundt Datetime, Timestamp og Interval:
I PL / SQL Utløsere i PL SQL-serien , vi lærte om deres type, bruk og fordeler.
I denne artikkelen vil vi utforske dato og tid i PL / SQL og noen av funksjonene på datatypene Datetime, Timestamp og Interval. Vi skal også utføre noen grunnleggende operasjoner på Datetime og Interval.
La oss begynne med diskusjonen !!
Hva du vil lære:
PL SQL Datetime Format
PL / SQL har en datatype for dato / tid som lar oss holde og beregne datoer, intervaller og klokkeslett. Variabelen som er av typen dato eller klokkeslett inneholder en verdi som heter DateTime. Variabelen som holder intervalltatatypen kalles intervallet. Hver av disse datatypene har felt som angir verdien.
DateTime-datatypene er oppført nedenfor:
- TIDSTEMPEL
- TIDSSTEMPEL MED TIDSSONE
- TIDSSTEMPEL MED LOKAL TIDSSONE
- DATO
Intervalldatatypene er oppført nedenfor:
- INTERVALLDAG TIL ANDET
- INTERVALL ÅR TIL MÅNED
DATO
Datatidene med fast lengde lagres i datatypen DATE. Den omfatter tiden på dagen fra midnatt i sekunder. Datoseksjonen peker til den første dagen i denne måneden og tidsseksjonen peker til midnatt. Den inneholder informasjon om dato og tid i både tall- og tegndatatyper.
SYSDATE er en datofunksjon som henter nåværende tid og dato. Riktig datoperiode er fra 1. januar 4712 f.Kr. til 31. desember 9999 e.Kr. Tegnverdiene i standardformatet (bestemt av Oracle initialiseringsparameter NLS_DATE_FORMAT) konverteres naturlig av PL / SQL til DATE-verdier.
Vi kan bruke matematiske operasjoner som addisjon og subtraksjon på datoer. PL / SQL tolker heltall bokstaver i form av dager. For eksempel, SYSDATE + 1 poeng til i morgen.
TIDSTEMPEL
Datatypen for tidsstempel er en utvidelse av datatypen DATE. Den brukes til å holde år, måned, time og andre. Standard tidsstempelformat bestemmes av Oracle initialiseringsparameter NLS_TIMESTAMP_FORMAT.
Syntaks:
TIMESTAMP((precision))
Her er presisjonen ikke en obligatorisk parameter og peker på antall sifre som er i brøkdelen av sekunder-feltet. Presisjonen skal være et helt tall fra 0 til 9. Standardverdien er satt til 6.
TIDSSTEMPEL MED TIDSSONE
Denne datatypen er en utvidelse av datatypen TIMESTAMP og inneholder tidssone forskyvning. Tidssoneforskyvning er tidsforskjellen (i timer og minutter) mellom lokal tid og UTC (Coordinated Universal Time).
Standard tidsstempel med tidssoneformat bestemmes av Oracle initialiseringsparameter NLS_TIMESTAMP_TZ_FORMAT. Syntaks:
TIMESTAMP((precision)) WITH TIME ZONE
Her er ikke presisjonen en obligatorisk parameter og peker på antall sifre som er i brøkdelen av sekundærfeltet. Presisjonen skal være et helt tall fra 0 til 9. Standardverdien er satt til 6.
kvalitetssikringsanalytiker intervju spørsmål og svar
Vi kan nevne tidssonen med symboler. Det kan være av langform som 'US / Pacific' eller kort sagt som 'PDT' eller en kombinasjon av begge. Dermed brukes denne datatypen til å dekke og beregne informasjon på tvers av geografiske steder.
TIDSSTEMPEL MED LOKAL TIDSSONE
Tidstempel med datatype for lokal tidssone er en utvidelse av datatypen TIMESTAMP og inneholder tidssoneforskyvning. Tidssoneforskyvning er tidsforskjellen (i timer og minutter) mellom lokal tid og UTC (Coordinated Universal Time).
Syntaks:
TIMESTAMP ((precision)) WITH LOCAL TIME ZONE
Her er presisjonen ikke en obligatorisk parameter og peker på antall sifre som er i brøkdelen av det andre felt. Presisjonen skal være et helt tall fra 0 til 9. Standardverdien er satt til 6.
TIDSTEMPEL MED LOKAL TIDSZONE er forskjellig fra TIDSTEMPEL MED TIDSONE på grunn av at mens vi setter inn verdi i databasen, blir verdien satt til tidssonen til databasen, og tidssoneforskyvningen holdes ikke i databasekolonnen. Når du henter verdien, returneres den imidlertid i den lokale tidssoneøkten.
INTERVALL ÅR TIL MÅNED
Denne datatypen brukes til å lagre og beregne intervaller for år og måneder.
Syntaks:
INTERVAL YEAR ((precision)) TO MONTH
Her er presisjonen antall sifre i et års felt. Presisjonen skal være et helt tall fra 0 til 4. Standardverdien er satt til 2.
INTERVALL ÅR TIL ANDET
Datatype mellom år til andre brukes til å lagre og beregne intervaller mellom dager, timer, minutter og sekunder.
Syntaks:
INTERVAL DAY ((l_precision)) TO SECOND ((fractional_s_precision))
Her, den presisjon og brøkdel_s presisjon er antall sifre i henholdsvis dager og sekunder.
Presisjonen bør være et helt tall fra 0 til 9. Standardverdiene er satt til henholdsvis 2 og 6.
Feltverdier: Datetid og intervall
- SEKUND: Verdiene for gyldig DateTime-område er fra 00 til 59,9 (m) der m betegner tidsbrøk sekunder. Verdiene for det gyldige intervallområdet er fra 00 til 59,9 (m) der m betegner intervallet brøkdeles sekunder.
- MINUTT: Verdiene for gyldig DateTime-område er fra 00 til 59. Verdiene for det gyldige intervallområdet er fra 0 til 59.
- TIME: Verdiene for gyldig DateTime-område er fra 00 til 23. Verdiene for det gyldige intervallområdet er fra 0 til 23.
- DAG: Verdiene for gyldig DateTime-område er fra 01 til 31 (begrenset av verdiene YEAR og MONTH, i henhold til reglene i den lokale kalenderen). Verdien for et gyldig intervallområde er et helt tall som ikke er null.
- MÅNED: Verdiene for gyldig DateTime-område er fra 01 til 12. Verdiene for det gyldige intervallområdet er fra 0 til 11.
- ÅR: Verdiene for gyldig DateTime-område er fra -4712 til 9999, inkludert ikke år 0. Verdien for det gyldige intervallområdet er et helt tall som ikke er null.
- TIMEZONE_HOUR: Verdiene for gyldig DateTime-område er fra -12 til 14, det inkluderer endringer av sommertid. Dette gjelder ikke for det gyldige intervallområdet.
- TIMEZONE_MINUTE: Verdiene for gyldig DateTime-område er fra 00 til 59. Dette gjelder ikke for det gyldige intervallområdet.
- TIMEZONE_REGION: Verdiene for gyldig DateTime-område gjelder ikke for DATE eller TIMESTAMP. Dette gjelder ikke for et gyldig intervallområde.
- TIMEZONE_ABBR: Verdiene for gyldig DateTime-område gjelder ikke for DATE eller TIMESTAMP. Dette gjelder ikke for det gyldige intervallområdet.
PL SQL-funksjoner i datatid
Her inneholder m og n verdiene til datatiden.
Sl nr. | Navn | Formål |
---|---|---|
7 | SYSDATE () | Henter nåværende datetid. |
1 | LAST_DAY (m) | Henter den siste dagen i måneden. |
to | ADD_MONTHS (m, n) | Summer opp m og n måneder. |
3 | MONTHS_BETWEEN (m, n) | Henter antall måneder mellom m og n. |
4 | NESTE_DAG (m, dag) | Henter datetiden påfølgende dag etter m. |
5 | NESTE GANG | Henter tid / dag fra den forespurte tidssonen. |
6 | RUND (m (, enhet)) | Runder m. |
8 | TRUNC (m (, enhet)) | Trunkerer m. |
PL SQL-funksjoner i tidsstempel
Her inneholder m verdien av tidsstempelet.
Sl nr. | Navn | Formål |
---|---|---|
7 | TO_TIMESTAMP_TZ (m, (format)) | Konverterer strengen m til en TIMESTAMP MED TIMEZONE. |
1 | CURRENT_TIMESTAMP () | Henter en TIDSTEMPEL MED TIDSSONE som har den nåværende økten og øktens tidssone. |
to | FROM_TZ (m, tidssone) | Konverterer m TIMESTAMP og nevner tidssone til TIMESTAMP MED TIMEZONE. |
3 | LOCALTIMESTAMP () | Henter en TIMESTAMP som har lokal tid i øktens tidssone. |
4 | SYSTEMTIMESTAMP () | Henter en TIDSTEMPEL MED TIDSSONE som har den nåværende databasetiden og databases tidssonen. |
5 | SYS_EXTRACT_UTC (m) | Konverterer m TIMESTAMP WITH TIMEZONE til TIMESTAMP som har dato og tid i UTC. |
6 | TO_TIMESTAMP (m, (format)) | Konverterer strengen m til en TIMESTAMP. |
Kodeimplementering med funksjoner Datetime og 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; /
Utgang av ovennevnte kode:
PL SQL-funksjoner i intervall
Sl nr. | Navn | Formål |
---|---|---|
1 | NUMTODSINTERVAL (m, intervall) | Transformerer tallet m til INTERVAL DAY TO SECOND. |
to | NUMTOYMINTERVAL (m, intervall) | Transformerer tallet m til INTERVALL ÅR TIL MÅNED. |
3 | TO_DSINTERVAL (m) | Transformerer strengen m til INTERVAL DAY TO SECOND. |
4 | TO_YMINTERVAL (m) | Transformerer strengen m til INTERVALL ÅR TIL MÅNED. |
Aritmetiske operasjoner i datatid og intervall
PL / SQL lar deg lage DateTime og intervalluttrykk.
Listen over operatører som kan brukes er:
- Hvis den første operanden er DateTime og den andre operanden er et intervall, og vi vil bruke (+) operatøren på dem, er resultatverdien av typen DateTime.
- Hvis den første operanden er DateTime og den andre operanden er et intervall, og vi vil bruke (-) operatøren på dem, er resultatverdien av typen DateTime.
- Hvis den første operanden er intervall og den andre operanden er DateTime, og vi vil bruke (+) operatøren på dem, er resultatverdien av DateTime-typen.
- Hvis den første operanden er DateTime og den andre operanden er DateTime, og vi vil bruke operatøren (-) på dem, er resultatverdien av intervalltypen.
- Hvis den første operanden er intervall og den andre operanden er et intervall, og vi vil bruke (+) operatoren på dem, er resultatverdien av intervalltypen.
- Hvis den første operanden er intervall og den andre operanden er et intervall, og vi vil bruke (-) operatoren på dem, er resultatverdien av intervalltypen.
- Hvis den første operanden er intervall og den andre operanden er numerisk, og vi vil bruke (*) operatoren på dem, er resultatverdien av intervalltypen.
- Hvis den første operanden er numerisk og den andre operanden er et intervall, og vi vil bruke (*) operatoren på dem, er resultatverdien av intervalltypen.
- Hvis den første operanden er intervall og den andre operanden er numerisk, og vi vil bruke (/) operatoren på dem, er resultatverdien av intervalltypen.
Kodeimplementering med noen aritmetiske operasjoner i Datetime og 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;
Resultatet av ovennevnte kode:
Forklaring til ovennevnte kode:
- I koden betyr (‘1600 5: 20: 1’) 1600 dager, 5 timer, 20 minutter og 1 sekund .
- I den første utgangen er den første operanden DateTime, og den andre operanden er et intervall. Da vi la dem til, fikk vi en dato som 24-DEC med tiden i AM.
- I den andre utgangen er den første operanden DateTime og den andre operanden er et intervall. Ved å trekke først fra det andre fikk vi en dato som 20-MAR med tiden i PM.
Ofte stilte spørsmål og svar
Q # 1) Hva er den nåværende tidsstemplet?
Svar: Gjeldende tidsstempel eller CURRENT_TIMESTAMP beskriver en tidsstempel som er avhengig av avlesningen av klokkeslettet mens du kjører en SQL-setning på serveren.
Spørsmål nr. 2) Hva returnerer Sysdate i Oracle?
Svar: Sysdate () -funksjonen henter gjeldende dato og tid konfigurert i operativsystemet der databasen ligger. Datatypen for verdi som returneres av den er DATE.
topp mp3 musikk nedlasting for android
Q # 3) Hvilken PL / SQL-funksjon vil gi gjeldende systemdato og -tid?
Svar: PL / SQL-funksjonen som gir gjeldende systemdato og -tid er SYSDATE ().
Q # 4) Hva er DUAL SQL?
Svar: DUAL er en databasetabell opprettet av Oracle som standard sammen med en dataordbok. Den inneholder en rad og en kolonne. DUAL eies av SYS, men kan brukes av alle brukerne.
Sp # 5) Hvordan erklærer du en datovariabel i PL SQL?
Svar: Vi kan erklære en datovariabel i PL / SQL med syntaksen gitt nedenfor:
DECLARE stdt DATE := to_date ('06/06/2006', 'DD/MM/YYYY');
Sp # 6) Hva er datoformatet i Oracle?
Svar: Standard datoformat i Oracle for input og output er ‘DD / MON / YY’. Dette er konfigurert av verdien i parameteren NLS_DATE_FORMAT.
Konklusjon
I denne PL SQL Datetime Format-veiledningen har vi diskutert i detalj noen grunnleggende konsepter for PL / SQL Date and Time som er essensielle for bruk av dem i programmering.
Vi har dekket følgende emner listet opp nedenfor:
- Dato og tid.
- Funksjoner rundt Datetime, Timestamp og Interval.
- Aritmetiske operasjoner på Datetime og Interval.
- Feltverdier i Datetime og Interval.
Anbefalt lesing
- Funksjoner for dato og tid i C ++ med eksempler
- Python DateTime Tutorial med eksempler
- C # DateTime Tutorial: Arbeide med dato og tid i C # med eksempel
- Underprogrammer: PL SQL-prosedyrer og funksjoner med eksempler
- VBScript Date Funksjoner: Date Format, DateAdd og cDate Funksjoner
- PL SQL Tutorial for nybegynnere med eksempler Hva er PL / SQL