| Tulosta Avaa käytönaikaisen ohjeen PDF-versio

#### Kalenterin Aika/Päivämäärä-toiminnot. Kalenterin aika/päivämäärä -toiminnot käsittelevät tietoa päivämäärän, kellonajan ja aikaleiman tietotyypeissä. (Aikaleiman tietotyyppi on päivämäärän ja kellonajan yhdistelmä.) ### Current_Date Palauttaa senhetkisen päivämäärän. Järjestelmä käyttää tietokoneen päivämäärää. Arvoon ei sisälly kellonaikaa. Syntaksi: CURRENT_DATE ### ### Current_Time Palauttaa senhetkisen kellonajan. Järjestelmä käyttää tietokoneen kellonaikaa. Arvo ei sisällä päivämääräosaa. Huomautus: Tämä toiminto käyttää raportin ajon aikaa. Toiminnon käyttö analyysien aihealueessa estää raporttien tallennuksen välimuistiin, mikä heikentää suorituskykyä. Syntaksi: CURRENT_TIME (n) jossa:
n | Kokonaisluku, joka määrittää niiden desimaalien lukumäärän, joilla sekuntien murto-osat esitetään. Tämä argumentti on valinnainen. Jos sitä ei määritetä, toiminto käyttää oletusarvoista tarkkuutta.
### Current_TimeStamp Palauttaa senhetkisen aikaleiman. Järjestelmä käyttää tietokoneen aikaleimaa. Huomautus: Tämä toiminto käyttää raportin ajon aikaa. Toiminnon käyttö analyysien aihealueessa estää raporttien tallennuksen välimuistiin, mikä heikentää suorituskykyä. Syntaksi: CURRENT_TIMESTAMP (n) jossa:
n | Kokonaisluku, joka määrittää niiden desimaalien lukumäärän, joilla sekuntien murto-osat esitetään. Tämä argumentti on valinnainen. Jos sitä ei määritetä, toiminto käyttää oletusarvoista tarkkuutta.
### Day_Of_Quarter Palauttaa annettua päivämäärää vuosineljänneksen päivänä vastaavan luvun (välillä 1-92). Syntaksi: DAY_OF_QUARTER (date_expression) jossa:
date_expression | Mikä tahansa lauseke, joka tulkitaan päivämääräksi.
### DayName Palauttaa annettua päivämäärää vastaavan viikonpäivän (englanniksi). Syntaksi: DAYNAME (date_expression) jossa:
date_expression | Mikä tahansa lauseke, joka tulkitaan päivämääräksi.
### DayOfMonth Palauttaa annettua päivämäärää kuukauden päivänä vastaavan luvun. Syntaksi: DAYOFMONTH (date_expression) jossa:
date_expression | Mikä tahansa lauseke, joka tulkitaan päivämääräksi.
### DayOfWeek Palauttaa luvun välillä 1–7. Tämä luku vastaa annetun päivämäärän viikonpäivää. Luku 1 vastaa sunnuntaita ja luku 7 lauantaita. Syntaksi: DAYOFWEEK (date_expression) jossa:
date_expression | Mikä tahansa lauseke, joka tulkitaan päivämääräksi.
### DayOfYear Palauttaa annettua päivämäärää vuoden päivänä vastaavan luvun (välillä 1 - 366). Syntaksi: DAYOFYEAR (date_expression) jossa:
date_expression | Mikä tahansa lauseke, joka tulkitaan päivämääräksi.
### Hour Palauttaa annetun kellonajan tuntia vastaavan luvun (välillä 0 - 23). Luku 0 vastaa keskiyötä ja luku 23 kellonaikaa 23. Syntaksi: HOUR (time_expression) jossa:
time_expression | Mikä tahansa lauseke, joka tulkitaan ajaksi.
### Minute Palauttaa annetun kellonajan minuutteja vastaavan luvun (välillä 0 - 59). Syntaksi: MINUTE (time_expression) jossa:
time_expression | Mikä tahansa lauseke, joka tulkitaan ajaksi.
### Month Palauttaa annetun päivämäärän kuukautta vastaavan luvun (välillä 1 - 12). Syntaksi: MONTH (date_expression) jossa:
date_expression | Mikä tahansa lauseke, joka tulkitaan päivämääräksi.
### Month_Of_Quarter Palauttaa annetun päivämäärän kuukautta vuosineljänneksen kuukautena vastaavan luvun (välillä 1 - 3). Syntaksi: MONTH_OF_QUARTER (date_expression) jossa:
date_expression | Mikä tahansa lauseke, joka tulkitaan päivämääräksi.
### MonthName Palauttaa annetun päivämäärän kuukauden nimen (englanniksi). Syntaksi: MONTHNAME (date_expression) jossa:
date_expression | Mikä tahansa lauseke, joka tulkitaan päivämääräksi.
### Now Palauttaa senhetkisen aikaleiman. NOW-toiminto on sama kuin CURRENT_TIMESTAMP-toiminto. Huomautus: Tämä toiminto käyttää raportin ajon aikaa. Toiminnon käyttö analyysien aihealueessa estää raporttien tallennuksen välimuistiin, mikä heikentää suorituskykyä. Syntaksi: NOW () ### ### Quarter_Of_Year Palauttaa annetun päivämäärän vuosineljännestä vastaavan luvun (välillä 1 - 4). Syntaksi: QUARTER_OF_YEAR (date_expression) jossa:
date_expression | Mikä tahansa lauseke, joka tulkitaan päivämääräksi.
### Second Palauttaa annetun kellonajan sekunteja vastaavan luvun (välillä 0 - 59). Syntaksi: SECOND (time_expression) jossa:
time_expression | Mikä tahansa lauseke, joka tulkitaan ajaksi.
### TimestampAdd TimestampAdd-toiminto liittää tietyn määrän aikayksikköjä annettuun aikaleimaan. Toiminto palauttaa yhden aikaleiman. Syntaksi: TimestampAdd (interval, integer_expression, timestamp_expression) jossa:
interval | Annettu aikayksikkö. Sallittuja arvoja ovat: SQL_TSI_SECOND SQL_TSI_MINUTE SQL_TSI_HOUR SQL_TSI_DAY SQL_TSI_WEEK SQL_TSI_MONTH SQL_TSI_QUARTER SQL_TSI_YEAR
integer_expression | Mikä tahansa ilmaus, joka on tulkittavissa kokonaisluvuksi. Tämä on lisättävien ajanjaksojen lukumäärä.
timestamp_expression | Laskelman pohjana käytetty aikaleima.
Mikäli syötteeksi annetaan tyhjä kokonaisluku-ilmaus tai tyhjä aikaleima-ilmaus, saadaan tyhjä palautusarvo. Yksinkertaisimmassa tapauksessa tämä toiminto vain lisää annetun kokonaislukuarvon (integer_expression) aikaleiman oikeaan osaan (määräytyy annetun ajanjakson perusteella). Viikon lisäys tarkoittaa seitsemän päivän lisäystä ja vuosineljänneksen lisäys kolmen kuukauden lisäystä. Mikäli annettu kokonaislukuarvo on negatiivinen, arvo vähennetään aikaleiman oikeasta osasta (jolloin liikutaan ajassa taaksepäin). Mikäli kyseiseen aikaleiman osaan näyttäisi olevan tulossa liian suuri luku (yli 60 sekuntia, yli 24 tuntia, yli 12 kuukautta jne), lisätään sopiva luku seuraavaan osaan. Kun aikaleimaan lisätään esimerkiksi päiviä, toiminto ottaa ylimenevää osaa käsitellessään huomioon kyseisen kuukauden päivien lukumäärän (myös karkausvuodet, jolloin helmikuussa on 29 päivää). Kun aikaleimaan lisätään kuukausia, toiminto tarkistaa, että tuloksena saatavan aikaleiman päivää kuvaavassa osiossa on oikea luku. Jos esimerkiksi päivämäärään 31-05-2000 lisätään 1 kuukausi, tuloksena ei ole 31-6-2000, koska kesäkuussa ei ole 31 päivää. Toiminto muuttaa päivän kuukauden viimeiseksi päiväksi, tässä tapauksessa 30-6-2000. Samantapainen ongelma muodostuu, kun lisätään vuosia aikaleimaan, jonka kuukausi on helmikuu ja päivä 29 (toisin sanoen karkausvuoden helmikuun viimeinen päivä). Ellei tuloksena saatava aikaleima osu karkausvuodelle, toiminto muuttaa päiväosan luvuksi 28. Seuraavassa esimerkkejä TimestampAdd-toiminnon käytöstä: Seuraavassa esimerkkikoodissa pyydetään lisäämään 3 päivää aikaleimaan 27-02-2000 14:30:00. Koska 2000 on karkausvuosi, palautetaan aikaleima 01-03-2000 14:30:00. TimestampAdd(SQL_TSI_DAY, 3, TIMESTAMP‘2000-02-27 14:30:00’) Seuraavassa esimerkkikoodissa pyydetään lisäämään 7 kuukautta aikaleimaan 31-07-1999 0:0:0. Tuloksena on aikaleima 29-02-2000 00:00:00. Huomaa, että päiväosa vähenee luvuksi 29, koska helmikuu on lyhyempi kuukausi. TimestampAdd(SQL_TSI_MONTH, 7, TIMESTAMP‘1999-07-31 00:00:00’) Seuraavassa esimerkkikoodissa pyydetään lisäämään 25 minuuttia aikaleimaan 31-07-2000 23:35:00. Tuloksena on aikaleima 01-08-2000 00:00:00. Huomaa, että ylimenevä osa käsitellään muuttamalla kuukautta kuvaavaa osaa. TimestampAdd(SQL_TSI_MINUTE, 25, TIMESTAMP‘2000-07-31 23:35:00’) ### ### TimeStampDiff TimeStampDiff -toiminto palauttaa annettujen aikayksiköiden määrän kahden aikaleiman välillä. Syntaksi: TimestampDiff (interval, timestamp_expression1, timestamp_expression2) jossa:
interval | Annettu aikayksikkö. Sallittuja arvoja ovat: SQL_TSI_SECOND SQL_TSI_MINUTE SQL_TSI_HOUR SQL_TSI_DAY SQL_TSI_WEEK SQL_TSI_MONTH SQL_TSI_QUARTER SQL_TSI_YEAR
timestamp_expression1 | Seuraavasta aikaleimasta vähennettävä aikaleima.
timestamp_expression2 | Seuraava aikaleima. timestamp_expression1 vähennetään tästä aikaleimasta näiden aikaleimojen välisen eron määrittämiseksi.
Mikäli syötteenä on tyhjä aikaleima-ilmaus, myös palautusarvo on tyhjä. Toiminto määrittää ensin, mikä aikaleiman osa vastaa annettua aikayksikköä. Esimerkiksi SQL_TSI_DAY vastaa päivää kuvaavaa osaa ja SQL_TSI_MONTH vastaa kuukautta kuvaavaa osaa. Seuraavaksi toiminto laskee suurempien aikayksiköiden perusteella, kuinka monta annettua aikayksikköä kussakin aikaleimassa on. Jos annettu aikayksikkö on esimerkiksi kuukausi, toiminto laskee kummankin aikaleiman kuukausien kokonaismäärän laskemalla yhteen vuosia kuvaavan osan kerrottuna kahdellatoista ja kuukausia kuvaavan osan. Lopulta toiminto vähentää ensimmäisen aikaleiman aikayksiköiden kokonaismäärän toisen aikaleiman aikayksiköiden kokonaismäärästä. Laskiessaan erotusta päivissä toiminto katkaisee molemmista aikaleimalausekkeista saadut aika-arvot ja vähentää sitten päivämääräarvot. Laskiessaan erotusta viikoissa toiminto laskee ensin erotuksen päivissä ja jakaa seitsemällä ennen pyöristystä. Laskiessaan erotusta vuosineljänneksissä toiminto laskee ensin erotuksen kuukausissa ja jakaa kolmella ennen pyöristystä. Laskiessaan erotusta vuosissa toiminto laskee ensin erotuksen kuukausissa ja jakaa kahdellatoista ennen pyöristystä. #### Seuraavassa esimerkkejä TimestampDiff-toiminnon käytöstä ja palautusarvoista: Seuraavassa esimerkkikoodissa pyydetään aikaleimojen 31-07-1998 23:35:00 ja 01-04-2000 14:24:00 välistä erotusta päivissä. Se palauttaa arvon 610. Huomaa, että mukaan tulee yksi päivä lisää, koska vuosi 2000 on karkausvuosi. TimestampDIFF(SQL_TSI_DAY, TIMESTAMP‘1998-07-31 23:35:00’, TIMESTAMP‘2000-04-01 14:24:00’) ### ### Week_Of_Quarter Palauttaa luvun (välillä 1 - 13), joka vastaa sitä, monesko kuluvan vuosineljänneksen viikko annettuna päivämääränä on. Syntaksi: MONTH_OF_QUARTER (date_expression) jossa:
date_expression | Mikä tahansa lauseke, joka tulkitaan päivämääräksi.
### Week_Of_Year Palauttaa luvun (välillä 1 - 53), joka vastaa sitä, monesko kuluvan vuoden viikko annettuna päivämääränä on. Syntaksi: WEEK_OF_YEAR (date_expression) jossa:
date_expression | Mikä tahansa lauseke, joka tulkitaan päivämääräksi.
### Vuosi Palauttaa annetun päivämäärän vuosiluvun. Syntaksi: YEAR (date_expression) jossa:
date_expression | Mikä tahansa lauseke, joka tulkitaan päivämääräksi.
Esimerkki: YEAR (CURRENT_DATE)

Julkaistu Elokuu 2022 | Copyright © 2005, 2022, Oracle ja/tai sen tytär-, sisar- tai osakkuusyhtiöt. Legal Notices.