Yleiset funktiot A-C D-G H-L M–Q R–Z Trigonometriset funktiot
SQL-99-skalaarifunktiot abs ( numeerinen_lauseke ) Palauttaa numeerisen lausekkeen absoluuttisen arvon. Negatiiviset arvot palautetaan positiivisina arvoina. Esimerkki: abs ( 15 ) Tulos: 15 Esimerkki: abs ( -15 ) Tulos: 15 bit_length bit_length ( merkkijonolauseke ) Palauttaa merkkijonolausekkeen bittien lukumäärän. cast ( lauseke ; tietolajimääritys ) Muuntaa lausekkeen ilmoitetuksi tietolajiksi. Eräät tietolajit sallivat, että pituus ja tarkkuus määritetään. Varmista, että kohteen tyyppi ja koko ovat asianmukaiset. Seuraavat funktiot soveltuvat tietolajimäärityksiin: character, varchar, char, numeric, decimal, integer, bigint, smallint, real, float, date, time, timestamp, time with time zone, timestamp with time zone ja interval. Kun tyyppi muunnetaan INTERVAL-tyypiksi, on määritettävä jokin seuraavista aikavälitarkenteista: year, month tai year to month, jos tietolaji on vuosi-/kuukausiväli, tai day, hour, minute, second, day to hour, day to minute, day to second, hour to minute, hour to second tai minute to second, jos tietolaji on vuorokausi-/sekuntiväli. Huomautuksia: Kun aikaleima-tyypin arvo muunnetaan päivämäärätyypiksi, aikaleima-arvon aikaosa ohitetaan. Kun aikaleima-tyypin arvo muunnetaan aikatyypiksi, aikaleiman päivämääräosa ohitetaan. Kun päivämäärätyypin arvo muunnetaan aikaleimaksi, aikaleiman aikaosat muutetaan nollaksi. Kun aikatyypin arvo muunnetaan aikaleimaksi, päivämääräosa muutetaan järjestelmän nykyiseksi päivämääräksi. Yhtä aikavälityyppiä ei voi muuntaa toiseksi (esimerkiksi siksi, että päivien lukumäärä eri kuukausina vaihtelee). Huomaa, että voit määrittää vain aloittavan tarkenteen numeromäärän, esimerkiksi YEAR(4) TO MONTH, DAY(5). Virheet raportoidaan, mikäli kohdetyyppi ja -koko eivät ole yhteensopivat lähdetyypin ja -koon kanssa. Esimerkki: cast ( '123' ; integer ) Tulos: 123 Esimerkki: cast ( 12345 ; varchar ( 10 ) ) Tulos: merkkijono, jossa on 12345 char_length ( merkkijonolauseke ) Palauttaa merkkijonolausekkeen loogisten merkkien lukumäärän. Loogisten merkkien lukumäärä voi poiketa tavujen lukumäärästä joillakin itäisen Aasian paikallistunnuksilla. Esimerkki: char_length ( 'Kanada' ) Tulos: 6 character_length ( merkkijonolauseke ) Palauttaa merkkijonolausekkeen merkkien lukumäärän. Esimerkki: character_length ( 'Kanada' ) Tulos: 6 current_date current_date Palauttaa päivämääräarvon, joka vastaa tietokantaohjelmistoa suorittavan tietokoneen nykyistä päivämäärää. Esimerkki: current_date Tulos: 2003-03-04 current_time current_time Palauttaa aikavyöhykearvon sisältävän ajan, joka vastaa tietokantaohjelmistoa suorittavan tietokoneen nykyistä aikaa, jos tietokanta tukee tätä funktiota. Muutoin se vastaa IBM Cognos BI -ohjelmistoa suorittavan tietokoneen nykyistä aikaa. Esimerkki: current_time Tulos: 16:33:11.354+05:00 current_timestamp current_timestamp Palauttaa aikavyöhykearvon sisältävän päivämäärän ja kellonajan, joka vastaa tietokantaohjelmistoa suorittavan tietokoneen nykyistä aikaa, jos tietokanta tukee tätä funktiota. Muutoin se vastaa IBM Cognos BI -ohjelmistoa suorittavan tietokoneen nykyistä aikaa. Esimerkki: current_timestamp Tulos: 2003-03-03 16:40:15.535+05:00 localtime localtime Palauttaa aika-arvon, joka vastaa tietokantaohjelmistoa suorittavan tietokoneen nykyistä aikaa. Esimerkki: localtime Tulos: 16:33:11 localtimestamp localtimestamp Palauttaa päivämäärä- ja aika-arvon, joka vastaa tietokantaohjelmistoa suorittavan tietokoneen nykyistä aikaleimaa. Esimerkki: localtimestamp Tulos: 2003-03-03 16:40:15 extract ( päivämääräosa ; päivämäärä_ja_aika ) Palauttaa kokonaislukuna päivämäärä- ja aikalausekkeen päivämääräosan (year, month, day, hour, minute, second, epoch). Esimerkki: extract ( year ; 2003-03-03 16:40:15.535 ) Tulos: 2003 Esimerkki: extract ( hour ; 2003-03-03 16:40:15.535 ) Tulos: 16 Esimerkki: extract ( epoch ; 2014-11-23 ) Tulos: 1416718800 lower ( merkkijonolauseke ) Palauttaa merkkijonolausekkeen niin, että kaikki sen isot kirjaimet on vaihdettu pieniksi. Esimerkki: lower ( 'ABCDEF' ) Tulos: abcdef mod ( kokonaislukulauseke1; kokonaislukulauseke2 ) Palauttaa jakojäännöksen, kun kokonaislukulauseke1 jaetaan kokonaislukulauseke2:lla. Kokonaislukulauseke2 ei saa olla nolla. Se aiheuttaisi poikkeustilanteen. Esimerkki: mod ( 20 ; 3 ) Tulos: 2 occurrences_regex ( säännöllinen_lauseke ; merkkijonolauseke [ ; ;kokonaislukulauseke [ ; merkkien_lauseke ]] ) Palauttaa kokonaislukuarvon, joka ilmoittaa merkkijonolausekkeen sisältämien säännöllisten lausekkeiden säännöllinen_lauseke määrän. Haku alkaa kohdasta kokonaislukulauseke, jonka oletusarvo on 1. Merkkien_lauseke määrittää merkit, joiden avulla määritetään asetukset säännöllisen lausekkeen tulkintaa varten. Yksittäisiä kirjaimia käytetään merkkien määritykseen ja kelvollisia arvoja ovat s, m, i ja x. Esimerkki: occurrences_regex ( '.er' ; 'Flicker Lantern') Tulos: 2 octet_length ( merkkijonolauseke ) Palauttaa merkkijonolausekkeen tavujen lukumäärän. Esimerkki: octet_length ( 'ABCDEF' ) Tulos: 6 Esimerkki: octet_length ( '' ) Tulos: 0 position ( merkkijonolauseke1 ; merkkijonolauseke2 ) Palauttaa kokonaislukuarvon, joka ilmaisee merkkijonolauseke1:n aloituskohdan merkkijonolauseke2:ssa. Jos merkkijonolauseke1 ei löydy, funktio palauttaa arvon 0. Esimerkki: position ( 'C' ; 'ABCDEF' ) Tulos: 3 Esimerkki: position ( 'H' ; 'ABCDEF' ) Tulos: 0 position_regex ([ start|after ]  säännöllinen_lauseke ; merkkijonolauseke [ ; kokonaislukulauseke1 [ ; kokonaislukulauseke2 [ ; merkkien_lauseke ]]] ) Palauttaa kokonaislukuarvon, joka vastaa alimerkkijonon alku- tai loppusijainnin merkkijonolausekkeessa, joka vastaa säännöllistä lauseketta säännöllinen_lauseke. Haku alkaa kohdasta kokonaislukulauseke1, jonka oletusarvo on 1. Haettavan kuvion esiintymän määrittää kokonaislukulauseke2, jonka oletusarvo on 1. Jos määrität arvon "start", esiintymän ensimmäisen merkin sijainti palautetaan. Jos määrität arvon "after", esiintymää seuraavan merkin sijainti palautetaan. Jos et määritä palautusasetusta, käytössä on arvo "start". Merkkien_lauseke määrittää merkit, joiden avulla määritetään asetukset säännöllisen lausekkeen tulkintaa varten. Yksittäisiä kirjaimia käytetään merkkien määritykseen ja kelvollisia arvoja ovat s, m, i ja x. Esimerkki: position_regex ( '.er' ; 'Flicker Lantern') Tulos: 5 Esimerkki: position_regex ( after '.er' ; 'Flicker Lantern' ) Tulos: 8 Esimerkki: position_regex ( '.er' ; 'Flicker Lantern' ; 1 ; 2 ) Tulos: 12 trim ( [ [ trailing|leading|both ] [ vastaavan_merkin_lauseke ] ; ] merkkijonolauseke ) Palauttaa merkkijonolausekkeen, josta on poistettu alussa tai lopussa olevat tyhjämerkit tai vastaavan_merkin_lausekkeessa määritetty merkki. Jos ensimmäistä argumenttia ei määritetä, funktion oletus on both. Jos toista argumenttia ei määritetä, funktion oletus on tyhjä. Esimerkki: trim ( trailing 'A' ; 'ABCDEFA' ) Tulos: ABCDEF Esimerkki: trim ( both ; ' ABCDEF ' ) Tulos: ABCDEF upper ( merkkijonolauseke ) Palauttaa merkkijonolausekkeen, jossa merkkijonon kaikki pienet kirjaimet on vaihdettu isoiksi. Esimerkki: upper ( 'abcdef' ) Tulos: ABCDEF user user Palauttaa valtuutustunnuksen tietokannan hallintaohjelmaan ajon aikana. nullif nullif ( lauseke1; lauseke2 ) Palauttaa arvon tyhjä, jos lauseke1 on sama kuin lauseke2. Muussa tapauksessa palauttaa lauseke1:n. coalesce ( lausekeluettelo ) Palauttaa ensimmäisen ei-tyhjän argumentin (tai tyhjän, jos kaikki argumentit ovat tyhjiä). Lausekeluettelossa oltava vähintään kaksi argumenttia. coalesce ( [Yksikköhinta]; [Myyntihinta] ) Tulos: Palauttaa yksikköhinnan. Jos yksikköhinta on tyhjä, palauttaa myyntihinnan. coalesce ( lausekeluettelo ) Palauttaa ensimmäisen ei-tyhjän argumentin (tai tyhjän, jos kaikki argumentit ovat tyhjiä). Lausekeluettelossa oltava vähintään yksi argumentti. coalesce ( [Yksikköhinta]; [Myyntihinta] ) Tulos: Palauttaa yksikköhinnan. Jos yksikköhinta on tyhjä, palauttaa myyntihinnan. ceil ( numeerinen_lauseke ) Palauttaa pienimmän kokonaisluvun, joka on suurempi tai yhtä suuri kuin numeerinen lauseke. ceiling ( numeerinen_lauseke ) Palauttaa pienimmän kokonaisluvun, joka on suurempi tai yhtä suuri kuin numeerinen lauseke. Esimerkki: ceiling ( 4.22 ) Tulos: 5 Esimerkki: ceiling ( -1.23 ) Tulos: -1 ln ( numeerinen_lauseke ) Palauttaa numeerisen lausekkeen luonnollisen logaritmin. Esimerkki: ln ( 4 ) Tulos: 1.38629 exp ( numeerinen_lauseke ) Palauttaa arvon, joka on e korotettuna numeerisen lausekkeen potenssiin. Vakio e on luonnollisen logaritmin kantaluku. Esimerkki: exp ( 2 ) Tulos: 7.389056 period ( päivämäärä_ja_aika1 ; päivämäärä_ja_aika2 ) Muodostaa jakson arvon, jonka aloituskohtana on päivämäärä_ja_aika1 ja lopetuskohtana on päivämäärä_ja_aika2. Aloituskohdan ja lopetuskohdan tietolajien on oltava samat ja ne voivat olla joko päivämäärä, kellonaika tai päivämäärä ja kellonaika. Jakson arvoja voi käyttää jaksopredikaateissa. Esimerkki: period ( 2003-03-03 ; 2003-10-03 ) Esimerkki: period ( 12:00:00 ; 23:59:59 ) Esimerkki: period ( 2003-03-03 12:00:00 ; 2003-10-03 23:59:59 ) Esimerkki: period ( [EMP].[BUS_START] ; [EMP].[BUS_END] ) power ( numeerinen_lauseke1 ; numeerinen_lauseke2 ) Palauttaa numeerinen_lauseke1:n korotettuna numeerinen_lauseke2:n mukaiseen potenssiin. Jos numeerinen_lauseke1 on negatiivinen, numeerinen_lauseke2:n tuloksen on oltava kokonaisluku. Esimerkki: power ( 3 ; 2 ) Tulos: 9 random ( [ kokonaislukulauseke ] ) Palauttaa satunnaisen liukulukuarvon 0-1 käyttäen lähtöarvona valinnaista kokonaislukulauseketta. _round ( numeerinen_lauseke ; kokonaislukulauseke ) Palauttaa numeerisen lausekkeen pyöristettynä kokonaislukulausekkeen mukaiseen desimaalitarkkuuteen. Huomautukset: kokonaislukulausekkeen on oltava ei-negatiivinen kokonaisluku. Pyöristys tapahtuu ennen tietojen muotoilua. Esimerkki: _round ( 1220.42369; 2 ) Tulos: 1220.42 Rivin luontimetodi edustaa tietoriveinä järjestettyjen arvojen kokoelmaa. Sitä voidaan käyttää ehtolausekkeissa (esim. IF-THEN-ELSE-lauseessa) ja suodatinlausekkeissa (esim. IN-lauseessa). row ( lausekeluettelo ) Esimerkki: if ( row([Vähittäismyyjän_nimi];[Tilaustavan_tunnus]) = row('ActiForme';4) ) then ('A') else ('B') Tulos: palauttaa arvon A, jos vähittäismyyjän nimi on ActiForme ja tilaustavan tunnus on 4. Muussa tapauksessa lauseke palauttaa arvon B. Esimerkki: case row([Vähittäismyyjän_nimi],[Tilaustavan_tunnus]) when row('Vuorikiipeilyn erikoiskauppa',3) then 1 when row('ActiForme',5) then 2 else 3 end Tulos: palauttaa arvon 1, jos vähittäismyyjän nimi on Vuorikiipeilyn erikoiskauppa ja tilaustavan koodi on 3. Lauseke palauttaa arvon 2, jos vähittäismyyjän nimi on ActiForme ja tilaustavan koodi on 5. Muussa tapauksessa lauseke palauttaa arvon 3. Esimerkki: row ( [Tilaustavan_tunnus]; [Vuosi] ) in ( [Kysely].[OMC]; [Kysely].[YR] ) Tulos: palautetut tiedot suodatetaan seuraavan kahden ehdon perusteella: 1) [Tilaustavan_tunnus] in ([Kysely].[OMC]) 2) [Vuosi] in ([Kysely].[YR]) sqrt ( numeerinen_lauseke ) Palauttaa numeerisen lausekkeen neliöjuuren. Numeerinen_lauseke ei saa olla negatiivinen. Esimerkki: sqrt ( 9 ) Tulos: 3 substring ( merkkijonolauseke ; kokonaislukulauseke1 [ ; kokonaislukulauseke2 ] ) Palauttaa merkkijonolausekkeen alimerkkijonon, joka alkaa kokonaislukulauseke2:n merkkien siitä kohdasta, jonka kokonaislukulauseke1:n osoittaa. Jos kokonaislukulauseke2 puuttuu, palauttaa merkkijonon loppuosan. Merkkijonolausekkeen ensimmäinen merkki on kohdassa 1. Esimerkki: substring ( 'abcdefg' ; 3 ; 2 ) Tulos: cd substring_regex ( säännöllinen_lauseke ; merkkijonolauseke [ ; kokonaislukulauseke1 [ ; kokonaislukulauseke2 [ ; merkkien_lauseke ]]] ) Palauttaa merkkijonolausekkeen alimerkkijonon, joka vastaa säännöllistä lauseketta säännöllinen_lauseke. Haku alkaa kohdasta kokonaislukulauseke1, jonka oletusarvo on 1. Haettavan kuvion esiintymän määrittää kokonaislukulauseke2, jonka oletusarvo on 1. Merkkien_lauseke määrittää merkit, joiden avulla määritetään asetukset säännöllisen lausekkeen tulkintaa varten. Yksittäisiä kirjaimia käytetään merkkien määritykseen ja kelvollisia arvoja ovat s, m, i ja x. Esimerkki: substring_regex ( '.er' ; 'Flicker Lantern') Tulos: ker Esimerkki: substring_regex ( '.er' ; 'Flicker Lantern' ; 1 ; 2 ) Tulos: ter floor ( numeerinen lauseke ) Palauttaa suurimman kokonaisluvun, joka on pienempi tai yhtä suuri kuin numeerinen lauseke. Esimerkki: floor ( 3.22 ) Tulos: 3 Esimerkki: floor ( -1.23 ) Tulos: -2 width-bucket ( numeerinen_lauseke ;  vähimmäisarvo ;  enimmäisarvo ;  lohkojen_määrä ) Funktio palauttaa annetulle lausekkeelle sen lohkon numeron, johon lausekkeen arvo osuu arvioinnin jälkeen. Esimerkki: width-bucket ( Määrä ;  100 ;  5000 ;  10 ) Tulos: Palauttaa kunkin rivin osalta nykyisen Määrä-arvon lohkon numeron (0-11). Quantity width-bucket (Quantity) ------------ ------------------------------------- 50 0 450 1 1400 3 3600 8 4900 10 5000 11 sin ( numeerinen_lauseke ) Tämä trigonometrinen funktio palauttaa argumentin sinin. Argumentti on radiaaneina ilmoitettu kulma. Esimerkki: sin ( 0.1667 * 3.1415 ) Tulos: 0.5 cos ( numeerinen_lauseke ) Tämä trigonometrinen funktio palauttaa argumentin kosinin. Argumentti on radiaaneina ilmoitettu kulma. Esimerkki: cos ( 0.3333 * 3.1415 ) Tulos: 0.5 tan ( numeerinen_lauseke ) Tämä trigonometrinen funktio palauttaa argumentin tangentin. Argumentti on radiaaneina ilmoitettu kulma. Esimerkki: tan ( 0.25 * 3.1415 ) Tulos: 1 arccos ( numeerinen_lauseke ) Tämä käänteinen trigonometrinen funktio palauttaa argumentin arkuskosinin. Argumentti on arvoalueella -1 - 1, ja tulos on radiaaneina ilmoitettu arvo. Esimerkki: arccos ( -1 ) Tulos: 3.1415 arcsin ( numeerinen_lauseke ) Tämä käänteinen trigonometrinen funktio palauttaa argumentin arkussinin. Argumentti on arvoalueella -1 - 1, ja tulos on radiaaneina ilmoitettu arvo. Esimerkki: arcsin ( 0 ) Tulos: 3.1415 Tämä käänteinen trigonometrinen funktio palauttaa argumentin arkustangentin. Argumentti on arvoalueella -1 - 1, ja tulos on radiaaneina ilmoitettu arvo. arctan ( numeerinen_lauseke ) Esimerkki: arctan ( 0 ) Tulos: 3.1415 coshyp ( numeerinen_lauseke ) Tämä trigonometrinen funktio palauttaa argumentin hyperbolisen kosinin. Argumentti on radiaaneina ilmoitettu kulma. Esimerkki: coshyp ( 0 ) Tulos: 1 sinhyp ( numeerinen_lauseke ) Tämä trigonometrinen funktio palauttaa argumentin hyperbolisen sinin. Argumentti on radiaaneina ilmoitettu kulma. Esimerkki: sinhyp ( 0 ) Tulos: 0 tanhyp ( numeerinen_lauseke ) Tämä trigonometrinen funktio palauttaa argumentin hyperbolisen tangentin. Argumentti on radiaaneina ilmoitettu kulma. Esimerkki: tanhyp ( 0 ) Tulos: 0
SQL-99 OLAP-laajennukset cube cube ( ryhmittelysarakkeiden_viiteluettelo ) Tämä on group by -lause, joka tuottaa lajitteluasetusluettelon, jossa on lajitteluasetuksen ryhmittelysarakkeen viiteluettelon kaikille mahdollisille yhdistelmille. rollup rollup ( ryhmittelysarakkeiden_viiteluettelo ) Tämä on group by -lause, joka tuottaa lajitteluasetusluettelon, joka sisältää lajitteluasetuksen jokaiselle ryhmittelysarakkeen viiteluettelon aliluettelolle. Luettelo muodostetaan pudottamalla elementtejä oikealta yksi kerrallaan. grouping sets grouping sets ( lajittelusarjaluettelo ) Tämä on group by -lause, joka määrittää lajitteluperusteiksi useita lajitteluasetuksia. rank rank () Laskee rivin luokituksen ikkunaosiossa, jossa rivin x luokitus määritetään lisäämällä lukuun 1 niiden rivien määrä, jotka ovat x:n edellä mutta eivät ole x:n vertaisia. dense_rank dense_rank () Laskee rivin järjestysluvun ikkunaosiossa, jossa järjestysluvuksi määritetään erillisten, x:n edellä olevien rivien lukumäärä x mukaan lukien. percent_rank percent_rank () Laskee rivin prosentuaalisen aseman ikkunaosiossa. Rivin prosentuaalinen asema lasketaan kaavalla (xy - 1) / (ab - 1), jossa xy on x:n asema ja ab on ikkunaosion rivimäärä. row_number row_number () Laskee rivin järjestysluvun sen ikkunaosiossa, Ensimmäisen rivin rivinumero on 1. ntile ntile ( numeerinen_lauseke ) Jakaa järjestetyn tietojoukon lohkoiksi, joiden lukumäärän osoittaa numeerinen lauseke. Kullekin riville määritetään asianomaisen lohkon numero.