Expressions
Table of Contents
Expressions can be used in the field list of a Select, in Insert values, in Update assignments and in Where clauses.
- Numbers: 10, -6, 3.14159
- Strings: 'single quoted' or "double quoted". A doubled quote ('It''s') is not supported. A quote that follows a backslash does not end the string, but the backslash is kept: 'It's' returns It's.
- Null: null
| Operator | Meaning |
| + | Adds numbers. When either side is a string, the values are concatenated: 'Id: ' + 5 returns 'Id: 5'. |
| - * / | Subtraction, multiplication and division. |
| % | Remainder (modulo). |
| Bitwise exclusive-or. Use Pow for exponentiation. | |
| ( ) | Grouping, with standard order of operations. |
A null on either side of + makes the result null (null propagation). Concat skips nulls instead.
These are used in Where clauses and join ON conditions:
| Operator | Meaning |
| = | Equal (strings are compared without regard to case). |
| != | Not equal. The <> form is not supported. |
| > >= < <= | Numeric comparisons. |
| LIKE, NOT LIKE | Pattern matching, see Like. |
| BETWEEN, NOT BETWEEN | Range matching, see Between. |
Comparison operators can only be used in WHERE and ON clauses. Elsewhere, use the boolean functions such as IsEqual, IsGreater and IsLike, which return 1 or 0.
-- A line comment.
SELECT Id, Name FROM WordList:Language -- A trailing comment.
/* A block
comment. */Use Declare to define a variable for the rest of the script. Variables are referenced with an @ prefix. Applications using the client API pass parameters the same way, see Client.
DECLARE @Language = 2
SELECT Text FROM WordList:Word WHERE LanguageId = @LanguageEvery SELECT needs a FROM clause. To evaluate expressions that don't read any documents, select from the built-in Single schema, which contains exactly one document.
SELECT 10 + 10 as Twenty, 'Hello' + ' ' + 'World' as Greeting, Guid() as Id FROM SingleSQL :: Distinct
Removes duplicate rows from the results of a SELECT.
SQL :: DocumentID
Removed: The DocumentID() function is no longer available.
SQL :: DocumentUID
Removed: The DocumentUID() function is no longer available.
SQL :: Floor
Returns the largest whole number that is less than or equal to the given number.
SQL :: FormatDateTime
Parses a date/time value and returns it formatted with a .NET date/time format string. See DateTime for the format specifiers.
SQL :: FormatNumeric
Formats a number using a .NET numeric format string and returns the result as text.
SQL :: GeometricMean
Returns the geometric mean of the values in each group: the nth root of their product. Useful for growth rates and ratios.
SQL :: Group By
Group by collapses a result set into one row per distinct set of values.
SQL :: Guid
Returns a new random globally unique identifier.
SQL :: IfNull
Returns the given value, or the default value when the given value is null.