Formula z uporabo SQL izraza
Formula z uporabo SQL izraza
Formulo lahko zapišemo tudi z uporabo SQL izraza pri čemer pa je potrebno upoštevati naslednja pravila:
-
SQL izraz se vedno začne in konča z delimiterjem ~S~
-
v eni formuli je lahko poljubno število SQL izrazov
-
znotraj SQL izraza ni dovoljena uporaba logičnih pogojev ([.. : ..]..)
-
znotraj SQL izraza ni dovoljena uporaba temp tabel z enim #
-
znotraj SQL izraza je dovoljena uporaba spremenljivk (# ... #)
-
v logičnih pogojih je dovoljena uporaba SQL izraza
V SQL izrazu se lahko uporabi vse matematične funkcije, ki jih pozna SQL server katerega uporabljate. Naprimer:
-
SIN ( float_expression )
Returns the trigonometric sine of the given angle (in radians) in an approximate numeric (float) expression,
-
COS ( float_expression )
A mathematic function that returns the trigonometric cosine of the given angle (in radians) in the given expression,
-
TAN ( float_expression )
Returns the tangent of the input expression,
-
SQRT ( float_expression )
Returns the square root of the given expression,
-
ter še vse ostale matematične funkcije katere najdete na naslednji povezavi: http://msdn.microsoft.com/en-us/library/ms174077.aspx
Formulo s pogojem kot je npr.: [#KOLICINA#>20:#Cena#*0,9] [#KOLICINA#>10:#Cena#*0,95] #Cena#
lahko zapišemo še na način z uporabo SQL izraza:
~S~
case
when #KOLICINA# > 20 then #Cena# * 0.9
when #KOLICINA# > 10 then #Cena# * 0,95
else #Cena#
end
~S~
ali pa še drugače
~S~ dbo.MojaFunkcija(#KOLICINA#, #Cena#) ~S~
V tem primeru potrebujete svojo funkcijo z imenom dbo.MojaFunkcija().