602SQL-Úplná dokumentace Index  

Aritmetické výrazy (SQL)

V aritmetických výrazech lze používat binární operátory + pro sčítání čísel, - pro odečítání, * pro násobení, / pro dělení, DIV pro celočíselné dělení a MOD pro zbytek po celočíselném dělení. Lze také používat unární minus - pro obrácenou hodnotu.

Priorita aritmetických operátorů je obvyklá:

  1. *,/,DIV a MOD (násobení, dělení, celočíselné dělení a zbytek po dělení)
  2. unární - , binární + a - (sčítání a odečítání)
Prioritu lze změnit uzávorkováním pomocí kulatých závorek.

Při vyhodnocování výrazů dochází k implicitním konverzím typů operandů v rámci numerických typů. Konverze probíhá vždy na typ s vyšším rozsahem, tedy postupně TINYINT na SMALLINT na INTEGER na BIGINT na REAL.


Rozšíření jazyka SQL proti normě

Příklad:

V dotazu je ukázáno několik kombinací aritmetických výrazů nad datumem a čísly

SELECT Faktury.castka AS ČÁSTKA,
         (CURRENT_DATE-dat1-14) AS POČET_DNÍ,
         (CURRENT_DATE-dat1-14)*0.01*castka AS PENÁLE,
         castka+(CURRENT_DATE-dat1-14)*0.01*castka AS CELKEM,
         Firmy.nazev AS NÁZEV,
         Faktury.cislo AS FA_ČÍSLO
  FROM Faktury, Firmy
  WHERE Faktury.firma=Firmy.cislo
    AND (Faktury.zaplaceno IS NULL AND 
         Faktury.dat1<=CURRENT_DATE-14 AND
         Faktury.druh=2)