Restrictions
Expressions in this grammar are subject to these restrictions:
- Superfluous parentheses are not allowed.For example, this produces a parsing error: (V(this)=1 and 2=V(that)) and 1=(2)Instead, you can write this expression to work around the grammar limitation: V(this)=1 and 2=V(that) and 1=2
- Operation chains that contains a mix of typed and typeless arguments must
				begin with a typed value.For example, this example produces an error because the first argument of the right-hand expression, V(a), is not a typed value: '12'=V(a)+'B'+V(c)Instead, and because string concatenation is not commutative, you can write this expression as: '12'=''+V(a)+'B'+V(c)Alternatively, you can declare the type for the first argument as: '12'=CAST(V(a) AS STRING)+'B'+V(c)Again, this example produces an error because the first argument of the right-hand expression, V(b), is not a typed value: 12>V(b)+1+5Instead, you can write the expression in one of these ways: 12>0+V(b)+1+5 12>CAST(V(b) AS NUMBER)+1+5 12>1+V(b)+5The last solution works because numeric addition is commutative. 
- Functions cannot be used for variable, parameter, or constant names.For example, because the letter y is an abbreviation for year in the DATEPART( ) and DATEDIFF( ) event functions, this expression produces an error: SETVARVALUES(y = 5)Instead, you can declare y as yVar. This expression does not produce an error: SETVARVALUES(yVar = 5)