pl sql datetime format
Meer informatie over PL SQL Datetime-indeling en enkele handige functies rond Datetime, Timestamp en Interval:
In de PL / SQL Triggers in PL SQL-reeks we leerden over hun types, gebruik en voordelen.
In dit artikel zullen we de datum en tijd in PL / SQL en enkele functies op datetime-, tijdstempel- en interval-gegevenstypen onderzoeken. We zullen ook enkele basisbewerkingen uitvoeren op Datetime en Interval.
Laten we beginnen met de discussie !!
Wat je leert:
PL SQL Datetime-indeling
PL / SQL heeft een datum / tijd-datatype waarmee we datums, intervallen en tijden kunnen vasthouden en berekenen. De variabele van het type datum of tijd bevat een waarde met de naam DateTime. De variabele die het intervalgegevenstype bewaart, wordt het interval genoemd. Elk van deze gegevenstypen heeft velden die de waarde instellen.
De DateTime-gegevenstypen worden hieronder vermeld:
- TIJDSTAMP
- TIJDSTEMPEL MET TIJDZONE
- TIJDSTEMPEL MET LOKALE TIJDZONE
- DATUM
De gegevenstypen Interval worden hieronder vermeld:
- INTERVAL DAG TOT TWEEDE
- INTERVAL VAN JAAR TOT MAAND
DATUM
De datetijden met een vaste lengte worden opgeslagen in het datatype DATE. Het omvat de tijd van de dag vanaf middernacht in seconden. Het datumgedeelte verwijst naar de eerste dag van de huidige maand en het tijdgedeelte verwijst naar middernacht. Het bevat datum- en tijdinformatie in zowel cijfer- als tekengegevenstypen.
SYSDATE is een datumfunctie die de huidige tijd en datum ophaalt. Het juiste datumbereik is van 1 januari 4712 v.Chr. Tot 31 december 9999 n.Chr. De tekenwaarden in het standaardformaat (bepaald door Oracle-initialisatieparameter NLS_DATE_FORMAT) worden op natuurlijke wijze door PL / SQL geconverteerd naar DATE-waarden.
We kunnen wiskundige bewerkingen zoals optellen en aftrekken op datums toepassen. PL / SQL interpreteert gehele literalen in de vorm van dagen. Bijvoorbeeld, SYSDATE + 1 wijst naar morgen.
TIJDSTAMP
Het gegevenstype tijdstempel is een uitbreiding van het gegevenstype DATE. Het wordt gebruikt om het jaar, de maand, het uur en de seconde vast te houden. Het standaard tijdstempelformaat wordt bepaald door de Oracle-initialisatieparameter NLS_TIMESTAMP_FORMAT.
Syntaxis:
Hier is de precisie geen verplichte parameter en verwijst naar het aantal cijfers dat in het fractionele deel van het secondenveld staat. De precisie moet een willekeurig geheel getal tussen 0 en 9 zijn. De standaardwaarde is 6.
TIJDSTEMPEL MET TIJDZONE
Dit gegevenstype is een uitbreiding van het gegevenstype TIMESTAMP en bevat verplaatsing van de tijdzone. De tijdzoneverschuiving is het tijdsverschil (in uren en minuten) tussen lokale tijd en Coordinated Universal Time (UTC).
Het standaardtijdstempel met tijdzoneformaat wordt bepaald door Oracle-initialisatieparameter NLS_TIMESTAMP_TZ_FORMAT. Syntaxis:
Hier is de precisie geen verplichte parameter en verwijst naar het aantal cijfers dat in het fractionele deel van het secondenveld staat. De precisie moet een willekeurig geheel getal tussen 0 en 9 zijn. De standaardwaarde is 6.
beste schijf klonen software windows 10
We kunnen de tijdzone vermelden met symbolen. Het kan een lange vorm hebben zoals ‘US / Pacific’ of in het kort als ‘PDT’ of een combinatie van beide. Dit gegevenstype wordt dus gebruikt voor het afdekken en berekenen van informatie over geografische locaties.
TIJDSTEMPEL MET LOKALE TIJDZONE
Tijdstempel met gegevenstype lokale tijdzone is een uitbreiding van het gegevenstype TIMESTAMP en bevat tijdzoneverschuiving. De tijdzoneverschuiving is het tijdsverschil (in uren en minuten) tussen lokale tijd en Coordinated Universal Time (UTC).
Syntaxis:
Hier is de precisie geen verplichte parameter en verwijst naar het aantal cijfers dat in het fractionele deel van het tweede veld staat. De precisie moet een willekeurig geheel getal tussen 0 en 9 zijn. De standaardwaarde is 6.
TIMESTAMP MET LOCAL TIME ZONE verschilt van TIMESTAMP WITH TIME ZONE vanwege het feit dat, hoewel we waarde in de database invoegen, de waarde wordt ingesteld op de tijdzone van de database en de tijdzoneverschuiving niet in de databasekolom wordt vastgehouden. Bij het ophalen van de waarde wordt deze echter geretourneerd in de lokale tijdzonesessie.
INTERVAL VAN JAAR TOT MAAND
Dit gegevenstype wordt gebruikt om het interval van jaren en maanden op te slaan en te berekenen.
Syntaxis:
Hier is de precisie het aantal cijfers in het veld van een jaar. De precisie moet een willekeurig geheel getal tussen 0 en 4 zijn. De standaardwaarde is 2.
INTERVAL VAN JAAR TOT TWEEDE
Het gegevenstype Interval van jaar tot seconde wordt gebruikt om dagen, uren, minuten en secondenintervallen op te slaan en te berekenen.
Syntaxis:
Hier de l_precision en fractional_s_precision zijn de telling van het aantal cijfers in respectievelijk het veld dagen en seconden.
De precisie moet een willekeurig geheel getal tussen 0 en 9 zijn. De standaardwaarden zijn respectievelijk 2 en 6.
Veldwaarden: Datetime en interval
- TWEEDE: De waarden voor een geldig DateTime-bereik zijn van 00 tot 59,9 (m), waarbij m staat voor de tijd-fractionele seconden. De waarden voor het geldige intervalbereik zijn van 00 tot 59,9 (m) waarbij m staat voor het interval fractionele seconden.
- MINUUT: De waarden voor het geldige bereik van DateTime zijn van 00 tot 59. De waarden voor het geldige intervalbereik zijn van 0 tot 59.
- UUR: De waarden voor het geldige bereik van DateTime zijn van 00 tot 23. De waarden voor het geldige intervalbereik zijn van 0 tot 23.
- DAG: De waarden voor een geldig DateTime-bereik zijn van 01 tot 31 (beperkt door de waarden van YEAR en MONTH, volgens de regels van de lokale kalender). De waarde voor een geldig intervalbereik is een geheel getal dat niet gelijk is aan nul.
- MAAND: De waarden voor het geldige bereik van DateTime zijn van 01 tot 12. De waarden voor het geldige intervalbereik zijn van 0 tot 11.
- JAAR: De waarden voor een geldig DateTime-bereik zijn van -4712 tot 9999 exclusief jaar 0. De waarde voor het geldige intervalbereik is een niet-nul geheel getal.
- TIMEZONE_HOUR: De waarden voor een geldig DateTime-bereik zijn van -12 tot 14, inclusief wijzigingen in de zomertijd. Dit is niet van toepassing op het geldige intervalbereik.
- TIMEZONE_MINUTE: De waarden voor het geldige DateTime-bereik zijn van 00 tot 59. Dit is niet van toepassing op het geldige intervalbereik.
- TIMEZONE_REGION: De waarden voor een geldig DateTime-bereik zijn niet van toepassing op DATE of TIMESTAMP. Dit is niet van toepassing op een geldig intervalbereik.
- TIMEZONE_ABBR: De waarden voor een geldig DateTime-bereik zijn niet van toepassing op DATE of TIMESTAMP. Dit is niet van toepassing op het geldige intervalbereik.
PL SQL-functies in datetime
Hier bevatten m en n de waarden van de datetime.
Sl nr. | Naam | Doeleinden |
---|---|---|
7 | SYSDATE () | Haalt de huidige datetime op. |
een | LAST_DAY (m) | Haalt de laatste dag van de maand op. |
twee | ADD_MONTHS (m; n) | Geeft m en n maanden weer. |
3 | MONTHS_BETWEEN (m, n) | Haalt het aantal maanden tussen m en n op. |
4 | NEXT_DAY (m, dag) | Haalt de datetime van de volgende dag na m. |
5 | DE VOLGENDE KEER | Haalt de tijd / dag op uit de door de gebruiker aangevraagde tijdzone. |
6 | ROUND (m (, eenheid)) | Rondes m. |
8 | TRUNC (m (, eenheid)) | Kapt m af. |
PL SQL-functies in tijdstempel
Hier bevat m de waarde van het tijdstempel.
Sl nr. | Naam | Doeleinden |
---|---|---|
7 | TO_TIMESTAMP_TZ (m, (format)) | Converteert de tekenreeks m naar een TIMESTAMP MET TIMEZONE. |
een | CURRENT_TIMESTAMP () | Haalt een TIMESTAMP MET TIMEZONE op met de huidige sessie en sessietijdzone. |
twee | FROM_TZ (m, tijdzone) | Converteert de m TIMESTAMP en vermeldt time_zone in TIMESTAMP WITH TIMEZONE. |
3 | LOCALTIMESTAMP () | Haalt een TIMESTAMP op met de lokale tijd in de sessietijdzone. |
4 | SYSTEMTIMESTAMP () | Haalt een TIMESTAMP MET TIMEZONE op met de huidige databasetijd en databasetijdzone. |
5 | SYS_EXTRACT_UTC (m) | Converteert de m TIMESTAMP WITH TIMEZONE naar TIMESTAMP met datum en tijd in UTC. |
6 | TO_TIMESTAMP (m, (format)) | Converteert de tekenreeks m naar een TIMESTAMP. |
Code-implementatie met Datetime- en Timestamp-functies:
Uitvoer van de bovenstaande code:
PL SQL-functies in interval
Sl nr. | Naam | Doeleinden |
---|---|---|
een | NUMTODSINTERVAL (m, interval) | Transformeert het getal m naar INTERVAL DAG NAAR TWEEDE. |
twee | NUMTOYMINTERVAL (m, interval) | Transformeert het getal m naar INTERVAL JAAR NAAR MAAND. |
3 | TO_DSINTERVAL (m) | Transformeert de tekenreeks m naar INTERVAL DAG NAAR TWEEDE. |
4 | TO_YMINTERVAL (m) | Transformeert de tekenreeks m in INTERVAL JAAR NAAR MAAND. |
Rekenkundige bewerkingen in datetime en interval
Met PL / SQL kunt u DateTime- en intervaluitdrukkingen maken.
c ++ dubbel gekoppelde lijstimplementatie
De lijst met operators die kunnen worden toegepast, is:
- Als de eerste operand DateTime is en de tweede operand een interval, en we de (+) - operator daarop willen toepassen, is de resultaatwaarde van het type DateTime.
- Als de eerste operand DateTime is en de tweede operand een interval, en we de (-) operator erop willen toepassen, is de resultaatwaarde van het type DateTime.
- Als de eerste operand interval is en de tweede operand DateTime, en we de (+) - operator daarop willen toepassen, is de resultaatwaarde van het type DateTime.
- Als de eerste operand DateTime is en de tweede operand DateTime, en we de (-) operator erop willen toepassen, is de resultaatwaarde van het type interval.
- Als de eerste operand interval is en de tweede operand een interval, en we de (+) - operator daarop willen toepassen, is de resultaatwaarde van het type interval.
- Als de eerste operand interval is en de tweede operand een interval, en we de (-) operator erop willen toepassen, is de resultaatwaarde van het type interval.
- Als de eerste operand interval is en de tweede operand numeriek, en we de (*) - operator erop willen toepassen, is de resultaatwaarde van het type interval.
- Als de eerste operand numeriek is en de tweede operand een interval, en we de (*) - operator daarop willen toepassen, is de resultaatwaarde van het type interval.
- Als de eerste operand interval is en de tweede operand numeriek is, en we de (/) - operator erop willen toepassen, is de resultaatwaarde van het type interval.
Code-implementatie met enkele rekenkundige bewerkingen in Datetime en Interval.
De output van de bovenstaande code:
Toelichting op bovenstaande code:
- In de code betekent (‘1600 5: 20: 1’) 1600 dagen, 5 uur, 20 minuten en 1 seconde
- In de eerste uitvoer is de eerste operand DateTime en de tweede operand een interval. Toen we ze toevoegden, kregen we een datum als 24-DEC met tijd in AM.
- In de tweede uitvoer is de eerste operand DateTime en de tweede operand een interval. Bij het aftrekken van de eerste van de tweede kregen we een datum als 20-MAR met tijd in PM.
Veelgestelde vragen en antwoorden
V # 1) Wat is het huidige tijdstempel?
Antwoord: De huidige tijdstempel of CURRENT_TIMESTAMP beschrijft een tijdstempel die afhankelijk is van het lezen van de tijd van de dagklok tijdens het uitvoeren van een SQL-instructie op de server.
Vraag 2) Wat levert Sysdate op in Oracle?
Antwoord: De functie Sysdate () haalt de huidige datum en tijd op die zijn geconfigureerd in het besturingssysteem waar de database zich bevindt. Het gegevenstype van de waarde die erdoor wordt geretourneerd, is DATE.
V # 3) Welke PL / SQL-functie geeft de huidige systeemdatum en -tijd?
Antwoord: De PL / SQL-functie die de huidige systeemdatum en -tijd geeft, is SYSDATE ().
V # 4) Wat is DUAL SQL?
Antwoord: DUAL is een databasetabel die standaard door Oracle wordt gemaakt, samen met een gegevenswoordenboek. Het bevat één rij en één kolom. DUAL is eigendom van SYS maar kan door alle gebruikers worden gebruikt.
V # 5) Hoe declareer je een datumvariabele in PL SQL?
Antwoord: We kunnen een datumvariabele in PL / SQL declareren met de onderstaande syntaxis:
V # 6) Wat is de datumnotatie in Oracle?
Antwoord: Het standaard datumnotatie in Oracle voor invoer en uitvoer is ‘DD / MA / JJ’. Dit wordt geconfigureerd door de waarde in de parameter NLS_DATE_FORMAT.
Gevolgtrekking
In deze PL SQL Datetime Format-zelfstudie hebben we enkele basisconcepten van PL / SQL-datum en tijd in detail besproken die essentieel zijn voor het gebruik ervan bij het programmeren.
We hebben de volgende onderwerpen behandeld:
- Datum en tijd.
- Functies rond Datetime, Timestamp en Interval.
- Rekenkundige bewerkingen op Datetime en Interval.
- Veldwaarden in Datetime en Interval.
Aanbevolen literatuur
- Datum- en tijdfuncties in C ++ met voorbeelden
- Python DateTime-zelfstudie met voorbeelden
- C # DateTime-zelfstudie: werken met datum en tijd in C # met voorbeeld
- Subprogramma's: PL SQL-procedures en functies met voorbeelden
- VBScript-datumfuncties: datumnotatie, DateAdd en cDate-functies
- PL SQL-zelfstudie voor beginners met voorbeelden | Wat is PL / SQL