Custom Field Operators and Functions from the MSDN Page
(http://msdn.microsoft.com/en-us/library/system.data.datacolumn.expression.aspx; C#)
Operators
Concatenation is allowed using Boolean AND, OR, and NOT operators. You can use parentheses to group clauses and force precedence. The AND operator has precedence over other operators.
For example: (LastName = 'Smith' OR LastName = 'Jones') AND FirstName = 'John'
When you create comparison expressions, the following operators are allowed:
<
>
<=
>=
<>
=
IN
LIKE
The following arithmetic operators are also supported in expressions:
+ (addition)
- (subtraction)
* (multiplication)
/ (division)
% (modulus)
Wildcard Characters
Both the * and % can be used interchangeably for wildcard characters in a LIKE comparison. If the string in a LIKE clause contains a * or %, those characters should be enclosed in brackets ([]). If a bracket is in the clause, each bracket character should be enclosed in brackets (for example [[] or []]).
A wildcard is allowed at the start and end of a pattern, or at the end of a pattern, or at the start of a pattern.
For example:
"ItemName LIKE '*product*'"
"ItemName LIKE '*product'"
"ItemName LIKE 'product*'"
Wildcard characters are not allowed in the middle of a string. For example, 'te*xt' is not allowed.
Functions
The following functions are also supported:
Description Converts particular expression to a specified .NET Framework Type.
Syntax Convert(expression, type)
Arguments expression -- The expression to convert.
type -- The .NET Framework type to which the value will be converted.
Example: Convert('#year#','System.Int32')
All conversions are valid with the following exceptions: Boolean can be coerced to and from Byte, SByte, Int16, Int32, Int64, UInt16, UInt32, UInt64, String and itself only. Char can be coerced to and from Int32, UInt32, String, and itself only. DateTime can be coerced to and from String and itself only. TimeSpan can be coerced to and from String and itself only.
LEN
Description Gets the length of a string
Syntax LEN(expression)
Arguments expression -- The string to be evaluated.
Example: LEN('#phone_work#')
ISNULL
Description Checks an expression and either returns the checked expression or a replacement value.
Syntax ISNULL(expression, replacement value)
Arguments expression -- The expression to check.
replacementvalue -- If expression is Nothing, replacementvalue is returned.
Example: ISNULL('#price#','-1')
IIF
Description Gets one of two values depending on the result of a logical expression.Syn0tax IIF(expr, truepart, falsepart)
Arguments expr -- The expression to evaluate.
truepart -- The value to return if the expression is true.
falsepart -- The value to return if the expression is false.
Example: IIF('#total#'>1000, 'expensive', 'it is not expensive')
TRIM
Description Removes all leading and trailing blank characters like \r, \n, \t, ' '
Syntax TRIM(expression)
Arguments expression -- The expression to trim.
SUBSTRING
Description Gets a sub-string of a specified length, starting at a specified point in the string.
Syntax SUBSTRING(expression, start, length)
Arguments expression -- The source string for the substring.
start -- Integer that specifies where the substring starts.
length -- Integer that specifies the length of the substring.
Example: SUBSTRING('#phone#', 7, 8)