When the condition of a conditional token or a zap token is evaluated, the first step is to determine if we are comparing text or numbers.
➢To do this, it looks at the result of the left-side token and the value of the RightSide, or the result of the token inside the RightSide. Normally, if both sides contain only digits from 0–9, Q++Studio compares them as numbers. Holiday tokens beginning with f or F are compared as text. Otherwise Q++Studio will compare the text values of each side.
Comparing Numbers or Dates
If numbers are being compared, the operators have the expected meaning :
•= represents equality; 5=5 or 12=12.
•~ represents inequality; 5~3 or 12~11.
•< represents less than; 2<5 or 11<12.
•> represents greater than; 5>2 or 12>11.
Comparing Text
If we are comparing text, the operators have the following meaning :
•= represents equality; Olivier=Olivier or Pepper=Pepper.
•~ represents inequality; Olivier~Paul or Pepper~PEPPER. (the comparison is case sensitive).
•< represents is included; vier<Olivier or P<PEPPER.
•> represents includes/contains; Olivier>Oli or PEPPER>E.
Note that when testing that a string is empty (blank), you can either use nothing, or 0 on the right. So for example, [zFe=] and [zFe=0] will both be true if there are no e-holidays for the current DayValue.
Forcing Text Comparison
You can force textual comparison, even if both sides are numbers.
To force textual comparison, place a blank space on the "open" end of the > or < operators. For example:
•[zd >3] will be true if the textual value of [d] contains the digit "3" (ie. for 3, 13, 23, 30, 31).
•[zd< 31] will be true if the textual value of [d] is contained in the string "31" (ie. for 1, 3, 31).
This convention applies only to the < and > operators. Equality (=) and inequality (~) use the numeric or textual comparison selected automatically.
See also: DayValues inside the conditions of zap or conditional tokens and using tokens on the right side of conditions.
Topic 000142, last updated on 19-Oct-2026