Fellesfunksjoner A-C D-G H-L M-Q R-Z Trigonometriske funksjoner
SQL-99-skalarfunksjoner abs ( numerisk_uttrykk ) Returnerer absoluttverdien til "numerisk_uttrykk". Negative verdier blir returnert som positive verdier. Eksempel: abs ( 15 ) Resultat: 15 Eksempel: abs ( -15 ) Resultat: 15 bit_length bit_length ( strenguttrykk ) Returnerer antall biter i "strenguttrykk". cast ( uttrykk ; datatypespesifikasjon ) Konverterer "uttrykk" til en spesifisert datatype. Enkelte datatyper tillater også at lengde og presisjon spesifiseres. Sjekk at målet har riktig type og størrelse. Følgende kan brukes som "datatypespesifikasjon": character, varchar, char, numeric, decimal, integer, bigint, smallint, real, float, date, time, timestamp, time with time zone, timestamp with time zone og interval. Når du gjør om typen til en intervalltype, må du oppgi en av disse intervallkvalifikatorene: år, måned, år til måned for år-til-måned-intervalldatatypen: dag, time, minutt, sekund, dag til time, dag til minutt, dag til sekund, time til minutt, time til sekund eller minutt til sekund for intervalldatatypen dag-til-sekund. Merk: Når du konverterer en verdi av typen systemtid (timestamp) til typen dato (date), blir klokkeslettdelen av systemtid oversett. Når du konverterer en verdi av typen systemtid (timestamp) til typen klokkeslett (time), blir datodelen av systemtid oversett. Når du konverterer en verdi av typen dato (date) til typen systemtid (timestamp), blir klokkeslettkomponentene i systemtid satt til null. Når du konverterer en verdi av typen klokkeslett (time) til typen systemtid (timestamp), blir datokomponenten satt til gjeldende systemdato. Det er ikke tillatt å konvertere en intervalldatatype til en annen (hvis for eksempel antall dager i en måned varierer). Vær oppmerksom på at du bare kan spesifisere antall sifre for den foranstilte kvalifikatoren, for eksempel ÅR(4) TIL MÅNED, DAG(5). Det blir rapportert feil hvis måltypen og målstørrelsen ikke er kompatibel med kildetypen og kildestørrelsen. Eksempel: cast ( '123' ; integer ) Resultat: 123 Eksempel: cast ( 12345 ; varchar ( 10 ) ) Resultat: en streng som inneholder 12345 char_length ( strenguttrykk ) Returnerer antallet logiske tegn i "strenguttrykk". Antallet logiske tegn kan være forskjellig fra antallet byte i enkelte østasiatiske språkmiljøer. Eksempel: char_length ( 'Canada' ) Resultat: 6 character_length ( strenguttrykk ) Returnerer antall tegn i "streng_uttrykk". Eksempel: character_length ( 'Canada' ) Resultat: 6 current_date current_date Returnerer en dato som viser gjeldende dato på datamaskinen som databaseprogramvaren kjøres på. Eksempel: current_date Resultat: 2003-03-04 current_time current_time Returnerer et klokkeslett med tidssoneverdi som representerer det gjeldende klokkeslettet på datamaskinen som databaseprogramvaren kjøres på, hvis databasen støtter denne funksjonen. Hvis ikke, representerer klokkeslettet det gjeldende klokkeslettet på datamaskinen som IBM® Cognos® BI-programvaren kjøres på. Eksempel: current_time Resultat: 16:33:11.354+05:00 current_timestamp current_timestamp Returnerer en datotid (datetime) med tidssoneverdi som representerer det gjeldende klokkeslettet på datamaskinen som databaseprogramvaren kjøres på, hvis databasen støtter denne funksjonen. Hvis ikke, representerer klokkeslettet det gjeldende klokkeslettet på datamaskinen som IBM® Cognos® BI-programvaren kjøres på. Eksempel: current_timestamp Resultat: 2003-03-03 16:40:15.535+05:00 localtime localtime Returnerer en klokkeslettverdi som viser gjeldende klokkeslett på datamaskinen som databaseprogramvaren kjøres på. Eksempel: localtime Resultat: 16:33:11 localtimestamp localtimestamp Returnerer en datotid som viser gjeldende systemtid på datamaskinen som databaseprogramvaren kjøres på. Eksempel: localtimestamp Resultat: 2003-03-03 16:40:15 extract ( datodel ; datotiduttrykk ) Returnerer et heltall som representerer datodelen (year, month, day, hour, minute, second, epoch) i "datotiduttrykk". Eksempel: extract ( year , 2003-03-03 16:40:15.535 ) Resultat: 2003 Eksempel: extract ( hour , 2003-03-03 16:40:15.535 ) Resultat: 16 Eksempel: extract ( epoch ; 2014-11-23 ) Resultat: 1416718800 lower ( strenguttrykk ) Returnerer "strenguttrykk" med alle store bokstaver gjort om til små bokstaver. Eksempel: lower ( 'ABCDEF' ) Resultat: abcdef mod ( heltallsuttrykk1; heltallsuttrykk2 ) Returnerer resten (modulus) av "heltallsuttrykk1" delt på "heltallsuttrykk2". "Heltallsuttrykk2" kan ikke være null, for da oppstår det en unntakstilstand. Eksempel: mod ( 20 ; 3 ) Resultat: 2 occurrences_regex ( regex_uttrykk , strenguttrykk [ ; heltallsuttrykk [ ; flagg_uttrykk ]] ) Returnerer heltallet som representerer antall forekomster av det regulære uttrykket "regex_uttrykk" i "strenguttrykk". Søket starter i posisjon "heltallsuttrykk", som har standardverdien 1. Flagg for å definere alternativer for tolkningen av det regulære uttrykket blir oppgitt med "flagg_uttrykk". Enkeltbokstaver brukes til å definere flaggene, der gyldige verdier er 's', 'm', 'i' og 'x'. Eksempel: occurrences_regex ( '.er' ; 'Flicker Lantern') Resultat: 2 octet_length ( strenguttrykk ) Returnerer antall byte i "strenguttrykk". Eksempel: octet_length ( 'ABCDEF' ) Resultat: 6 Eksempel: octet_length ( '' ) Resultat: 0 position ( strenguttrykk1 ; strenguttrykk2 ) Returnerer heltallsverdien som representerer startposisjonen for "strenguttrykk1" i "strenguttrykk2", eller 0 hvis "strenguttrykk1" ikke blir funnet. Eksempel: position ( 'C' ; 'ABCDEF' ) Resultat: 3 Eksempel: position ( 'H' ; 'ABCDEF' ) Resultat: 0 position_regex ([ start|after ]  regex_uttrykk ; strenguttrykk [ ; heltallsuttrykk1 [ ; heltallsuttrykk2 [ ; flagg_uttrykk ]]] ) Returnerer heltallet som representerer start- eller sluttposisjonen for delstrengen i "strenguttrykk" som samsvarer med det regulære uttrykket "regex_uttrykk". Søket starter i posisjon "heltallsuttrykk1", som har standardverdien 1. Forekomsten av mønsteret det skal søkes etter, blir oppgitt av "heltallsuttrykk2", som har standardverdien 1. Returalternativet, som blir oppgitt av det første argumentet, oppgir hva som blir returnert i tilknytning til forekomsten. Hvis du oppgir "start", returneres posisjonen til det første tegnet i forekomsten. Hvis du oppgir "after", returneres posisjonen til tegnet etter forekomsten. Hvis du ikke oppgir et returalternativ, antas "start". Flagg for å definere alternativer for tolkningen av det regulære uttrykket blir oppgitt med "flagg_uttrykk". Enkeltbokstaver brukes til å definere flaggene, der gyldige verdier er 's', 'm', 'i' og 'x'. Eksempel: position_regex ( '.er' ; 'Flicker Lantern') Resultat: 5 Eksempel: position_regex ( after '.er' ; 'Flicker Lantern' ) Resultat: 8 Eksempel: position_regex ( '.er' ; 'Flicker Lantern' ; 1 ; 2 ) Resultat: 12 trim ( [ [ trailing|leading|both ] [ samsvarende_tegn-uttrykk ] , ] strenguttrykk ) Returnerer "strenguttrykk" der foranstilte og etterfølgende blanktegn er fjernet, eller der bestemte tegn som er spesifisert i "samsvarende_tegn-uttrykk", er fjernet. "Both" er implisitt når det første argumentet ikke er oppgitt, og blank er implisitt når det andre argumentet ikke er oppgitt. Eksempel: trim ( trailing 'A' ; 'ABCDEFA' ) Resultat: ABCDEF Eksempel: trim ( both ; ' ABCDEF ' ) Resultat: ABCDEF upper ( strenguttrykk ) Returnerer "strenguttrykk" med alle små bokstaver konvertert til store bokstaver. Eksempel: upper ( 'abcdef' ) Resultat: ABCDEF user user Returnerer en autorisasjons-ID til databaseansvarlig ved kjøring. nullif nullif ( uttrykk1; uttrykk2 ) Returnerer null hvis "uttrykk1" er lik "uttrykk2". Ellers returneres "uttrykk1". coalesce ( uttrykksliste ) Returnerer første argument som ikke er null (eller null hvis alle argumentene er null). Krever to eller flere argumenter i "uttrykksliste". coalesce ( [Enhetspris], [Salgspris per enhet] ) Resultat: Returnerer enhetsprisen eller salgsprisen for enheten hvis enhetsprisen er null. coalesce ( uttrykksliste ) Returnerer første argument som ikke er null (eller null hvis alle argumentene er null). Krever ett eller flere argumenter i "uttrykksliste". coalesce ( [Enhetspris], [Salgspris per enhet] ) Resultat: Returnerer enhetsprisen eller salgsprisen for enheten hvis enhetsprisen er null. ceil ( numerisk_uttrykk ) Returnerer det minste heltallet som er større enn eller lik "numerisk_uttrykk". ceiling ( numerisk_uttrykk ) Returnerer det minste heltallet som er større enn eller lik "numerisk_uttrykk". Eksempel: ceiling ( 4.22 ) Resultat: 5 Eksempel: ceiling ( -1.23 ) Resultat: -1 ln ( numerisk_uttrykk ) Returnerer den naturlige logaritmen av "numerisk_uttrykk". Eksempel: ln ( 4 ) Resultat: 1.38629 exp ( numerisk_uttrykk ) Returnerer 'e' opphøyd i "numerisk_uttrykk" potens. Konstanten 'e' er grunntallet for den naturlige logaritmen. uttrykk: exp ( 2 ) Resultat: 7.389056 period ( datotiduttrykk1 , datotiduttrykk2 ) Konstruerer en periodeverdi med startpunktet "datotiduttrykk1" og sluttpunktet "datotiduttrykk2". Datatypene for start- og sluttpunktene må være identiske, og kan være enten dato, tid eller datotid. Periodeverdier kan brukes i periodepredikater. Eksempel: period ( 2003-03-03 ; 2003-10-03 ) Eksempel: period ( 12:00:00 ; 23:59:59 ) Eksempel: period ( 2003-03-03 12:00:00 ; 2003-10-03 23:59:59 ) Eksempel: period ( [EMP].[BUS_START] ; [EMP].[BUS_END] ) power ( numerisk_uttrykk1 , numerisk_uttrykk2 ) Returnerer "numerisk_uttrykk1" opphøyd til "numerisk_uttrykk2" potens. Hvis "numerisk_uttrykk1" er negativt, må "numerisk_uttrykk2" resultere i en heltallsverdi. Eksempel: power ( 3 , 2 ) Resultat: 9 random ( [ heltallsuttrykk ] ) Returnerer et tilfeldig flytetall mellom 0 og 1 ved å bruke valgfritt "heltallsuttrykk" som tilfeldighetsgrad (seed). _round ( numerisk_uttrykk , heltallsuttrykk ) Returnerer "numerisk_uttrykk" avrundet til "heltallsuttrykk" plasser til høyre for desimaltegnet. Merk: "heltallsuttrykk" må være et ikke-negativt heltall. Avrundingen finner sted før dataformateringen brukes. Eksempel: _round ( 1220,42369; 2 ) Resultat: 1220,42 Radkonstruktøren representerer en samling verdier som er organisert som en rad med data. Den kan brukes i betingelsesuttrykk (dvs. IF-THEN-ELSE) og i filteruttrykk (dvs. IN-ledd). row ( uttrykksliste ) Eksempel: if ( row([RetailerName],[OrderMethodCode]) = row('ActiForme',4) ) then ('A') else ('B') Resultat: Returnerer 'A' hvis Retailer Name er 'ActiForme' og bestillingsmetodekoden er 4. Ellers returneres verdien 'B'. Eksempel: case row([RetailerName],[OrderMethodCode]) when row('Advanced Climbing Ltd',3) then 1 when row('ActiForme',5) then 2 else 3 end Resultat: Returnerer 1 hvis Retailer Name er 'Advanced Climbing Ltd' og bestillingsmetodekoden er 3. Returnerer 2 hvis Retailer Name er 'ActiForme' og bestillingsmetodekoden er 5. Ellers returneres verdien 3. Eksempel: row ( [OrderMethodCode]; [Year] ) in ( [Query].[OMC]; [Query].[YR] ) Resultat: De returnerte dataene blir filtrert på følgende to betingelser: 1) [OrderMethodCode] in ([Query].[OMC]) 2) [Year] in ([Query].[YR]) sqrt ( numerisk_uttrykk ) Returnerer kvadratroten av "numerisk_uttrykk". "Numerisk_uttrykk" må være en ikke-negativ verdi. Eksempel: sqrt ( 9 ) Resultat: 3 substring ( strenguttrykk ; heltallsuttrykk1 [ ; heltallsuttrykk2 ] ) Returnerer delstrengen av "strenguttrykk" som starter i posisjon "heltallsuttrykk1" for "heltallsuttrykk2" tegn, eller til slutten av "strenguttrykk" hvis "heltalluttrykk2" blir utelatt. Det første tegnet i "strenguttrykk" er ved posisjon 1. Eksempel: substring ( 'abcdefg' ; 3 , 2 ) Resultat: cd substring_regex ( regex_uttrykk ; strenguttrykk [ ; heltallsuttrykk1 [ ; heltallsuttrykk2 [ , flagg_uttrykk ]]] ) Returnerer en delstreng av "strenguttrykk" som samsvarer med det regulære uttrykket "regex_uttrykk". Søket starter i posisjon "heltallsuttrykk1", som har standardverdien 1. Forekomsten av mønsteret det skal søkes etter, blir oppgitt av "heltallsuttrykk2", som har standardverdien 1. Flagg for å definere alternativer for tolkningen av det regulære uttrykket blir oppgitt med "flagg_uttrykk". Enkeltbokstaver brukes til å definere flaggene, der gyldige verdier er 's', 'm', 'i' og 'x'. Eksempel: substring_regex ( '.er' ; 'Flicker Lantern') Resultat: ker Eksempel: substring_regex ( '.er' ; 'Flicker Lantern' ; 1 , 2 ) Resultat: ter floor ( numerisk_uttrykk ) Returnerer det største heltallet som er mindre enn eller lik "numerisk_uttrykk". Eksempel: floor ( 3.22 ) Resultat: 3 Eksempel: floor ( -1.23 ) Resultat: -2 width-bucket ( numerisk_uttrykk ,  min_verdi ,  maks_verdi ,  antall_grupper ) For et gitt uttrykk returnerer denne funksjonen gruppenummeret som verdien av dette uttrykket ville falle inn under etter evalueringen. Eksempel: width-bucket ( Kvantum ;  100 ;  5000 ;  10 ) Resultat: For hver rad returneres gruppenummeret (fra 0 til 11) for gjeldende Mengde-verdi. Quantity width-bucket (Quantity) ------------ ------------------------------------- 50 0 450 1 1400 3 3600 8 4900 10 5000 11 sin ( numerisk_uttrykk ) Denne trigonometriske funksjonen returnerer sinus av argumentet, der argumentet er en vinkel uttrykt i radianer. Eksempel: sin ( 0.1667 * 3.1415 ) Resultat: 0,5 cos ( numerisk_uttrykk ) Denne trigonometriske funksjonen returnerer cosinus av argumentet, der argumentet er en vinkel uttrykt i radianer. Eksempel: cos ( 0.3333 * 3.1415 ) Resultat: 0,5 tan ( numerisk_uttrykk ) Denne trigonometriske funksjonen returnerer tangensen av argumentet, der argumentet er en vinkel uttrykt i radianer. Eksempel: tan ( 0.25 * 3.1415 ) Resultat: 1 arccos ( numerisk_uttrykk ) Denne inverse trigonometriske funksjonen returnerer arccosinus av argumentet, der argumentet er i området -1 til 1 og resultatet er en verdi uttrykt i radianer. Eksempel: arccos ( -1 ) Resultat: 3,1415 arcsin ( numerisk_uttrykk ) Denne inverse trigonometriske funksjonen returnerer arcsinus av argumentet, der argumentet er i området -1 til 1 og resultatet er en verdi uttrykt i radianer. Eksempel: arcsin ( 0 ) Resultat: 3,1415 Denne inverse trigonometriske funksjonen returnerer arctangens av argumentet, der argumentet er i området -1 til 1 og resultatet er en verdi uttrykt i radianer. arctan ( numerisk_uttrykk ) Eksempel: arctan ( 0 ) Resultat: 3,1415 coshyp ( numerisk_uttrykk ) Denne trigonometriske funksjonen returnerer hyperbolsk cosinus av argumentet, der argumentet er en vinkel uttrykt i radianer. Eksempel: coshyp ( 0 ) Resultat: 1 sinhyp ( numerisk_uttrykk ) Denne trigonometriske funksjonen returnerer hyperbolsk sinus av argumentet, der argumentet er en vinkel uttrykt i radianer. Eksempel: sinhyp ( 0 ) Resultat: 0 tanhyp ( numerisk_uttrykk ) Denne trigonometriske funksjonen returnerer hyperbolsk tangens av argumentet, der argumentet er en vinkel uttrykt i radianer. Eksempel: tanhyp ( 0 ) Resultat: 0
SQL-99 OLAP-utvidelser cube cube ( gruppekolonnereferanseliste ) Dette er et 'group by'-ledd som resulterer i en gruppesettliste som inneholder et gruppesett for alle mulige kombinasjoner av grupperingskolonnene i "gruppekolonnereferanseliste". rollup rollup ( gruppekolonnereferanseliste ) Dette er et 'group by'-ledd som resulterer i en gruppesettliste som inneholder et gruppesett for alle dellister av "gruppekolonnereferanseliste", ved å slette elementer fra høyre, en etter en. grouping sets grouping sets ( gruppesettliste ) Dette er et 'group by'-ledd som spesifiserer flere sett det skal grupperes etter. rank rank () Beregner rangeringsverdien til en rad innenfor vinduspartisjonen, der rangeringen til rad x er definert som 1 pluss antall rader foran x, men som ikke er likeverdige med x. dense_rank dense_rank () Beregner den kompakte rangeringsverdien til raden innenfor vinduspartisjonen, der den kompakte il rad x er definert som antall rader foran og inkludert x som er distinkte. percent_rank percent_rank () Beregner prosentrangeringsverdien til en rad innenfor vinduspartisjonen, der prosentrangeringen til rad x er definert av (xy - 1) / (ab - 1), der xy er rangeringen til x og ab er antall rader i vinduspartisjonen. row_number row_number () Beregner det sekvensielle radnummeret til raden innenfor vinduspartisjonen, med start fra 1 for første rad. ntile ntile ( numerisk_uttrykk ) Deler et ordnet datasett i et antall grupper, angitt av "numerisk_uttrykk", og tildeler hver rad relevant gruppenummer.