|
Výrazy nad znakovými a binárními řetězci | Výrazy | Jak zaokrouhlovat čísla v SQL? |
K hodnotám typu DATE, TIME a TIMESTAMP lze přičítat a odečítat celé číslo ve významu intervalu, lze také počítat rozdíl dvou hodnot těchto stejných typů a obdržet celé číslo.
Interval pro typ DATE vyjadřuje počet dnů, pro typ TIME počet tisícin sekundy a pro typ TIMESTAMP počet sekund. Proto například interval získaný jako rozdíl dvou hodnot typu TIME je nutno před přičtením k hodnotě typu TIMESTAMP vydělit tisícem.
Pokud prvním operandem ve výrazu je literál typu TIME nebo TIMESTAMP, pak před operátorem + nebo - je nutno uvést alespoň jednu mezeru, aby nedošlo k záměně sčítání resp. odečítání s údajem o časové zóně. V následujícím příkladu první plus označuje časovou zónu, druhé plus je operátor "přičtení tisícíny sekundy".
SET tm = 12:24:00+02 + 30*1000;
Odlišnosti od normy
Příklad použití:
Vybrat faktury za posledních deset dní, použita funkce CURRENT_DATE pro získání dnešního data
SELECT cislo,dat1 FROM Faktury WHERE dat1 BETWEEN CURRENT_DATE-10 AND CURRENT_DATE
Výrazy nad znakovými a binárními řetězci | Výrazy | Jak zaokrouhlovat čísla v SQL? |