Algemene functies A-C D-G H-L M-Q R-Z Trigonometrische functies
SQL-99 scalair abs ( numerieke_expressie ) Retourneert de absolute waarde van "numerieke_expressie". Negatieve waarden worden geretourneerd als positieve waarden. Voorbeeld: abs ( 15 ) Resultaat: 15 Voorbeeld: abs ( -15 ) Resultaat: 15 bit_length bit_length ( tekenreeks_expressie ) Retourneert het aantal bits in "tekenreeks_expressie". cast ( expressie , gegevenstype_specificatie ) Converteert "expressie" naar een opgegeven gegevenstype. Voor sommige gegevenstypen moet er een lengte en precisie worden opgegeven. Zorg ervoor dat het doel van het juiste type en formaat is. U kunt het volgende opgeven voor "gegevenstype_specificatie": character, varchar, char, numeric, decimal, integer, bigint, smallint, real, float, date, time, timestamp, time with time zone, timestamp with time zone en interval. Wanneer u een type interval opgeeft, moet u een van de volgende intervalkwalificaties invoeren: year, month, of year to month voor het intervalgegevenstype jaar tot maand; day, hour, minute, second, day to hour, day to minute, day to second, hour to minute, hour to second of minute to second voor het intervalgegevenstype day to second. Opmerkingen: Als u een waarde van het type timestamp naar het type date converteert, wordt het tijddeel van de tijdaanduidingswaarde genegeerd. Als u een waarde van het type timestamp naar het type time converteert, wordt het datumdeel van de tijdaanduidingswaarde genegeerd. Als u een waarde van het type date naar het type timestamp converteert, worden de tijdonderdelen van de tijdsaanduiding ingesteld op nul. Als u een waarde van het type time naar het type timestamp converteert, wordt het datumonderdeel op de huidige systeemdatum ingesteld. U kunt het ene intervalgegevenstype niet converteren naar het andere (bijvoorbeeld omdat het aantal dagen in een maand wisselend is). U kunt het aantal cijfers alleen opgeven voor de eerste kwalificatie, bijvoorbeeld YEAR(4) TO MONTH, DAY(5). Fouten worden gerapporteerd als het doeltype en -formaat niet compatibel zijn met het brontype en -formaat. Voorbeeld: cast ( '123' , geheel getal ) Resultaat: 123 Voorbeeld: cast ( 12345 , varchar ( 10 ) ) Resultaat: een reeks met 12345 char_length ( tekenreeks_expressie ) Retourneert het aantal logische tekens in "tekenreeks_expressie". Het aantal logische tekens kan afwijken van het aantal bytes in sommige Oost-Aziatische locales. Voorbeeld: char_length ( 'Canada' ) Resultaat: 6 teken_lengte ( reeks_expressie ) Retourneert het aantal tekens in "tekenreeks_expressie". Voorbeeld: character_length ( 'Canada' ) Resultaat: 6 current_date current_date Retourneert een datumwaarde die de huidige datum is van de computer waarop het databaseprogramma wordt uitgevoerd. Voorbeeld: current_date Resultaat: 2003-03-04 current_time current_time Retourneert een tijd-met-tijdzonewaarde die de huidige tijd is van de computer waarop het databaseprogramma wordt uitgevoerd, als de database deze functie ondersteunt. Anders wordt de huidige tijd geretourneerd van de computer waarop de software van IBM® Cognos® BI wordt uitgevoerd. Voorbeeld: current_time Resultaat: 16:33:11.354+05:00 current_timestamp current_timestamp Retourneert een datumtijd-met-tijdzonewaarde die de huidige tijd is van de computer waarop het databaseprogramma wordt uitgevoerd, als de database deze functie ondersteunt. Anders wordt de huidige tijd geretourneerd van de computer waarop de software van IBM® Cognos® BI wordt uitgevoerd. Voorbeeld: current_timestamp Resultaat: 2003-03-03 16:40:15.535+05:00 localtime localtime Retourneert een tijdwaarde die de huidige tijd is van de computer waarop het databaseprogramma wordt uitgevoerd. Voorbeeld: localtime Resultaat: 16:33:11 localtimestamp localtimestamp Retourneert een datum/tijd-waarde die de huidige tijdsaanduiding is van de computer waarop het databaseprogramma wordt uitgevoerd. Voorbeeld: localtimestamp Resultaat: 2003-03-03 16:40:15 extract ( datumdeel , datumtijd_expressie ) Retourneert een geheel getal dat de waarde van datumdeel (jaar, maand, dag, uur, minuut, seconde, tijdvak) in "datumtijd_expressie" is. Voorbeeld: extract ( jaar , 2003-03-03 16:40:15.535 ) Resultaat: 2003 Voorbeeld: extract ( uur , 2003-03-03 16:40:15.535 ) Resultaat: 16 Voorbeeld: extract ( tijdvak ; 2014-11-23 ) Resultaat: 1416718800 lower ( tekenreeks_expressie ) Retourneert "tekenreeks_expressie" waarbij alle hoofdletters zijn omgezet in kleine letters. Voorbeeld: lower ( 'ABCDEF' ) Resultaat: abcdef mod ( geheelgetal_expressie1, geheelgetal_expressie2 ) Retourneert het restant (modulus) van "geheelgetal_expressie1" gedeeld door "geheelgetal_expressie2". "geheelgetal_expressie2" mag geen nul zijn, anders wordt er een uitzonderingsvoorwaarde gegenereerd. Voorbeeld: mod ( 20 , 3 ) Resultaat: 2 occurrences_regex ( regex_expressie , reeksexpressie[ , integer_expressie [ , vlaggen_expressie ]] ) Retourneert een geheel-getalwaarde die het aantal voorvallen van de expressie "regex_expressie" in "reeksexpressie" voorstelt. De zoekopdracht begint bij positie "integer_expressie", die de standaardwaarde 1 heeft. Vlaggen voor het instellen van opties voor de interpretatie van de expressie worden opgegeven met "vlaggen_expressie". Er worden afzonderlijke letters met de waarden 's', 'm', 'i' en 'x' gebruikt om de vlaggen te definiëren. Voorbeeld: occurrences_regex ( '.er' , 'Campinglamp') Resultaat: 2 octet_length ( tekenreeks_expressie ) Retourneert het aantal bytes in "tekenreeks_expressie". Voorbeeld: octet_length ( 'ABCDEF' ) Resultaat: 6 Voorbeeld: octet_length ( '' ) Resultaat: 0 position ( tekenreeks_expressie1 , tekenreeks_expressie2 ) Retourneert de integerwaarde die de startpositie van "tekenreeks_expressie1" in "tekenreeks_expressie2" vertegenwoordigt, of retourneert 0 als "tekenreeks_expressie1" niet wordt gevonden. Voorbeeld: position ( 'C' , 'ABCDEF' ) Resultaat: 3 Voorbeeld: position ( 'H' , 'ABCDEF' ) Resultaat: 0 position_regex ([ start|after ]  regex_expressie , reeksexpressie[ , integer_expressie1 [ , integer_expressie2 [ , vlaggen_expressie ]]] ) Retourneert een geheel-getalwaarde die de begin- of eindpositie aangeeft van de subreeks in "reeksexpressie" die overeenkomt met de expressie "regex_expressie". De zoekopdracht begint op positie "integer_expressie1", die de standaardwaarde 1 heeft. Het gezochte patroon wordt opgegeven met "integer_expressie2", die de standaardwaarde 1 heeft. De retouroptie, opgegeven met het eerste argument, geeft aan wat geretourneerd wordt in relatie tot de vindplaats. Als u "start" opgeeft, wordt de positie van het eerste teken van de vindplaats geretourneerd. Als u "after" opgeeft, wordt de positie van het teken dat volgt op de vindplaats geretourneerd. Als u geen retouroptie opgeeft, wordt de standaardwaarde "start" gebruikt. Vlaggen voor het instellen van opties voor de interpretatie van de expressie worden opgegeven met "vlaggen_expressie". Er worden afzonderlijke letters met de waarden 's', 'm', 'i' en 'x' gebruikt om de vlaggen te definiëren. Voorbeeld: position_regex ( '.er' , 'Campinglamp') Resultaat: 5 Voorbeeld: position_regex ( after '.er' , 'Campinglamp' ) Resultaat: 8 Voorbeeld: position_regex ( '.er' , 'Campinglamp' , 1 , 2 ) Resultaat: 12 trim ( [ [ trailing|leading|both ] [ corresponderend_teken_expressie ] , ] tekenreeks_expressie ) Retourneert "tekenreeks_expressie" waarbij voorloop- en volgspaties zijn verwijderd of het teken is verwijderd dat in "corresponderend_teken_expressie" is opgegeven. "Both" is impliciet wanneer het eerste argument niet is opgegeven, en leeg is impliciet als het tweede argument niet is opgegeven. Voorbeeld: trim ( trailing 'A' , 'ABCDEFA' ) Resultaat: ABCDEF Voorbeeld: trim ( both , ' ABCDEF ' ) Resultaat: ABCDEF upper ( tekenreeks_expressie ) Retourneert "tekenreeks_expressie" waarbij alle kleine letters zijn omgezet in hoofdletters. Voorbeeld: upper ( 'abcdef' ) Resultaat: ABCDEF user user Retourneert bij runtime een autorisatie-ID voor de databasebeheerder. nullif nullif ( expressie1, expressie2 ) Retourneert null als "expressie1" gelijk is aan "expressie2", of retourneert "expressie1" als dit niet het geval is. coalesce ( expressie_lijst ) Retourneert het eerste niet-null argument (of null als alle argumenten null zijn). Vereist twee of meer argumenten in "expressie_lijst". coalesce ( [Stukprijs]; [Verkoopstukprijs] ) Resultaat: retourneert de stukprijs of de verkoopstukprijs als de stukprijs nul bedraagt. coalesce ( expressie_lijst ) Retourneert het eerste niet-null argument (of null als alle argumenten null zijn). Vereist een of meer argumenten in "expressie_lijst". coalesce ( [Stukprijs]; [Verkoopstukprijs] ) Resultaat: retourneert de stukprijs of de verkoopstukprijs als de stukprijs nul bedraagt. ceil ( numerieke_expressie ) Retourneert het kleinste gehele getal dat groter is dan of gelijk is aan "numerieke_expressie". ceiling ( numerieke_expressie ) Retourneert het kleinste gehele getal dat groter is dan of gelijk is aan "numerieke_expressie". Voorbeeld: ceiling ( 4.22 ) Resultaat: 5 Voorbeeld: ceiling ( -1.23 ) Resultaat: -1 ln ( numerieke_expressie ) Retourneert de natuurlijke logaritme van "numerieke_expressie". Voorbeeld: ln ( 4 ) Resultaat: 1,38629 exp ( numerieke_expressie ) Retourneert 'e' tot de macht van "numerieke_expressie". De constante 'e' is de basis van de natuurlijke logaritme. Voorbeeld: exp ( 2 ) Resultaat: 7,389056 period ( datumtijd_expressie1 , datumtijd_expressie2 ) Levert een periodewaarde op met het beginpunt "datumtijd_expressie1" en het eindpunt "datumtijd_expressie2". De gegevenstypen van de begin- en eindpunten moeten identiek zijn aan elkaar, en kunnen alleen van het type date, time of dateTime zijn. Periodewaarden kunnen worden gebruikt in periodepredicaten. Voorbeeld: period ( 2003-03-03 , 2003-10-03 ) Voorbeeld: period ( 12:00:00 , 23:59:59 ) Voorbeeld: period ( 2003-03-03 12:00:00 , 2003-10-03 23:59:59 ) Voorbeeld: period ( [EMP].[BUS_START] , [EMP].[BUS_END] ) power ( numerieke_expressie1 , numerieke_expressie2 ) Retourneert "numerieke_expressie1" tot de macht van "numerieke_expressie2". Als "numerieke_expressie1" een negatief getal is, moet "numerieke_expressie2" een geheel getal opleveren. Voorbeeld: power ( 3 , 2 ) Resultaat: 9 random ( [ geheel_getal_expressie ] ) Retourneert een willekeurige waarde met drijvende komma tussen 0 en 1, waarbij een optioneel "geheelgetal_expressie" als seed-waarde wordt gebruikt. _round ( numerieke_expressie , geheelgetal_expressie ) Retourneert "numerieke_expressie" afgerond op het aantal plaatsen in "geheelgetal_expressie" rechts van het decimaalteken. Opmerkingen: "geheelgetal_expressie" moet een niet-negatief, geheel getal zijn. Afronding vindt plaats voordat de gegevensopmaak wordt toegepast. Voorbeeld: _round ( 1220.42369, 2 ) Resultaat: 1220.42 De rijconstructor vertegenwoordigt een verzameling van waarden die zijn georganiseerd als rij met gegevens. Hij kan worden gebruikt in voorwaardelijke expressies (i.e. IF-THEN-ELSE) en in filterexpressies (i.e. IN-clausule). row ( expressie_lijst ) Voorbeeld: if ( row([RetailerName],[OrderMethodCode]) = row('ActiForme',4) ) then ('A') else ('B') Resultaat: Retourneert 'A' als naam van de retailer 'ActiForme' is en de code van de ordermethode 4. Anders wordt de waarde 'B' geretourneerd. Voorbeeld: case row([RetailerName],[OrderMethodCode]) when row('Advanced Climbing Ltd',3) then 1 when row('ActiForme',5) then 2 else 3 end Resultaat: Retourneert 1 als de naam van de retailer 'Advanced Climbing Ltd' is en de code van de ordermethode 3. Retourneert 2 als de naam van de retailer 'ActiForme' is en de code van de ordermethode 5. Anders wordt de waarde 3 geretourneerd. Voorbeeld: row ( [OrderMethodCode], [Year] ) in ( [Query].[OMC], [Query].[YR] ) Resultaat: De geretourneerde gegevens worden gefilterd op de volgende twee voorwaarden: 1) [OrderMethodCode] in ([Query].[OMC]) 2) [Year] in ([Query].[YR]) sqrt ( numerieke_expressie ) Retourneert de vierkantswortel van "numerieke_expressie". "Numerieke_expressie" mag geen negatief getal zijn. Voorbeeld: sqrt ( 9 ) Resultaat: 3 substring ( tekenreeks_expressie , geheelgetal_expressie1 [ , geheelgetal_expressie2 ] ) Retourneert de subreeks van "tekenreeks_expressie" die begint bij positie "geheelgetal_expressie1" voor "geheelgetal_expressie2" tekens of tot het eind van "tekenreeks_expressie" als "geheelgetal_expressie2" ontbreekt. Het eerste teken in "tekenreeks_expressie" staat op positie 1. Voorbeeld: substring ( 'abcdefg' , 3 , 2 ) Resultaat: cd substring_regex ( regex_expressie , reeksexpressie[ , integer_expressie1 [ , integer_expressie2 [ , vlaggen_expressie ]]] ) Retourneert de subreeks "reeksexpressie" die overeenkomt met de expressie "regex_expressie". De zoekopdracht begint bij positie "integer_expressie1", die de standaardwaarde 1 heeft. Het gezochte patroon wordt opgegeven met "integer_expressie2", die de standaardwaarde 1 heeft. Vlaggen voor het instellen van opties voor de interpretatie van de expressie worden opgegeven met "vlaggen_expressie". Er worden afzonderlijke letters met de waarden 's', 'm', 'i' en 'x' gebruikt om de vlaggen te definiëren. Voorbeeld: substring_regex ( '.er' , 'Campinglamp') Resultaat: ker Voorbeeld: substring_regex ( '.er' , 'Campinglamp' , 1 , 2 ) Resultaat: ter floor ( numerieke_expressie ) Retourneert het grootste gehele getal dat kleiner is dan of gelijk is aan "numerieke_expressie". Voorbeeld: floor ( 3.22 ) Resultaat: 3 Voorbeeld: floor ( -1.23 ) Resultaat: -2 width-bucket ( numerieke_expressie ,  min_waarde ,  max_waarde ,  aantal_buckets ) Deze functie retourneert voor een gegeven expressie het bucketnummer waarin de waarde van deze expressie na evaluatie zou vallen. Voorbeeld: width-bucket ( Hoeveelheid ,  100 ,  5000 ,  10 ) Resultaat: voor elke rij wordt het bucketnummer geretourneerd (van 0 tot 11) voor de huidige waarde van Hoeveelheid. Quantity width-bucket (Quantity) ------------ ------------------------------------- 50 0 450 1 1400 3 3600 8 4900 10 5000 11 sin ( numerieke_expressie ) Deze trigonometrische functie retourneert de sinus van het argument, waarbij het argument een hoek in radialen is. Voorbeeld: sin ( 0.1667 * 3.1415 ) Resultaat: 0.5 cos ( numerieke_expressie ) Deze trigonometrische functie retourneert de cosinus van het argument, waarbij het argument een hoek in radialen is. Voorbeeld: cos ( 0.3333 * 3.1415 ) Resultaat: 0.5 tan ( numerieke_expressie ) Deze trigonometrische functie retourneert de tangens van het argument, waarbij het argument een hoek in radialen is. Voorbeeld: tan ( 0.25 * 3.1415 ) Resultaat: 1 arccos ( numerieke_expressie ) Deze omgekeerd trigonometrische functie retourneert de arccosinus van het argument, waarbij het argument in het bereik van -1 tot 1 ligt en het resultaat een waarde in radialen is. Voorbeeld: arccos ( -1 ) Resultaat: 3.1415 arcsin ( numerieke_expressie ) Deze omgekeerd trigonometrische functie retourneert de arcsinus van het argument, waarbij het argument in het bereik van -1 tot 1 ligt en het resultaat een waarde in radialen is. Voorbeeld: arcsin ( 0 ) Resultaat: 3.1415 Deze omgekeerd trigonometrische functie retourneert de arctangens van het argument, waarbij het argument in het bereik van -1 tot 1 ligt en het resultaat een waarde in radialen is. arctan ( numerieke_expressie ) Voorbeeld: arctan ( 0 ) Resultaat: 3.1415 coshyp ( numerieke_expressie ) Deze trigonometrische functie retourneert de hyperbolische cosinus van het argument, waarbij het argument een hoek in radialen is. Voorbeeld: coshyp ( 0 ) Resultaat: 1 sinhyp ( numerieke_expressie ) Deze trigonometrische functie retourneert de hyperbolische sinus van het argument, waarbij het argument een hoek in radialen is. Voorbeeld: sinhyp ( 0 ) Resultaat: 0 tanhyp ( numerieke_expressie ) Deze trigonometrische functie retourneert de hyperbolische tangens van het argument, waarbij het argument een hoek in radialen is. Voorbeeld: tanhyp ( 0 ) Resultaat: 0
SQL-99 OLAP-uitbreidingen cube cube ( groepering_kolom_referentie_lijst ) Dit is een 'group by'-clausule die resulteert in een lijst met groeperingssets waarin een groeperingsset staat voor alle mogelijke combinaties van de groeperingskolommen in "groepering_kolom_referentie_lijst". rollup rollup ( groepering_kolom_referentie_lijst ) Dit is een "group by"-clausule die resulteert in een lijst met groeperingssets waarin een groeperingsset staat voor elke goede sublijst van "groepering_kolom_referentie_lijst" door per keer één element vanuit de rechterlijst neer te zetten. grouping sets grouping sets ( groepering_set_lijst ) Dit is een 'group by' -clausule die meerdere sets opgeeft waarop kan worden gegroepeerd. rank rank () Berekent de rangorde van de rij in het venstergedeelte, waar de rangorde van rij x is gedefinieerd als 1 plus het aantal rijen die aan x voorafgaan, maar die geen peers van x zijn. dense_rank dense_rank () Berekent de dichte rangorde van de rij in het venstergedeelte, waar de dichte rangorde van rij x is gedefinieerd als het aantal rijen tot en met x die verschillend zijn. percent_rank percent_rank () Berekent de percentagerangorde van de rij in het venstergedeelte, waar de percentagerangorde van rij x wordt berekend door (xy - 1) / (ab - 1) en waarbij xy de rangorde van x is en ab het aantal rijen in het venstergedeelte is. row_number row_number () Berekent het volgrijnummer van de rij in het venstergedeelte, te beginnen bij 1 voor de eerste rij. ntile ntile ( numerieke_expressie ) Deelt een geordende gegevensset in een aantal buckets die worden aangegeven door "numerieke_expressie", en wijst het betreffende bucketnummer aan elke rij toe.