Conversion functions
| Function Name | Description | 
|---|---|
| dynamic_to_json | Converts a scalar value of type dynamic to a canonical string representation. | 
| ensure_field | Ensures the existence of a field and returns its value or a typed nil if it doesn’t exist. | 
| isbool | Returns a value of true or false if the expression value is passed. | 
| tobool | Converts input to boolean (signed 8-bit) representation. | 
| todatetime | Converts input to datetime scalar. | 
| todouble, toreal | Converts the input to a value of type real. todouble and toreal are synonyms. | 
| tohex | Converts input to a hexadecimal string. | 
| toint | Converts the input to an integer value (signed 64-bit) number representation. | 
| tolong | Converts input to long (signed 64-bit) number representation. | 
| tostring | Converts input to a string representation. | 
| totimespan | Converts input to timespan scalar. | 
| toarray | Converts input to array. | 
| todynamic | Converts input to dynamic. | 
ensure_field()
Ensures the existence of a field and returns its value or a typed nil if it doesn’t exist.Arguments
| name | type | description | 
|---|---|---|
| field_name | string | The name of the field to ensure exists. | 
| field_type | type | The type of the field. See scalar data types for supported types. | 
Returns
This function returns the value of the specified field if it exists, otherwise it returns a typed nil.Examples
Handle missing fields
In this example, the value ofshow_field is nil because the myfield field doesn’t exist.
Access existing fields
In this example, the value ofnewstatus is the value of status because the status field exists.
Future-proof queries
In this example, the query is prepared for a field namedupcoming_field that’s expected to be added to the data soon. By using ensure_field(), logic can be written around this future field, and the query will work when the field becomes available.
tobool()
Converts input to boolean (signed 8-bit) representation.Arguments
- Expr: Expression that will be converted to boolean.
 
Returns
- If conversion is successful, result will be a boolean. If conversion isn’t successful, result will be 
false 
Examples
- Result:
 
todatetime()
Converts input to datetime scalar.Arguments
- Expr: Expression that will be converted to datetime.
 
Returns
If the conversion is successful, the result will be a datetime value. Else, the result will befalse.
Examples
- Result
 
todouble, toreal
Converts the input to a value of type real. (todouble() is an alternative word to toreal())Arguments
- Expr: An expression whose value will be converted to a value of type 
real. 
Returns
If conversion is successful, the result is a value of type real. If conversion isn’t successful, the result returns false.Examples
- Result:
 
tostring()
Converts input to a string representation.Arguments
Expr:Expression that will be converted to string.
Returns
If the Expression value is non-null, the result will be a string representation of the Expression. If the Expression value is null, the result will be an empty string.Examples
- Result:
 
totimespan
Converts input to timespan scalar.Arguments
Expr:Expression that will be converted to timespan.
Returns
If conversion is successful, result will be a timespan value. Else, result will be false.Examples
- Result
 
tohex()
Converts input to a hexadecimal string.Arguments
- Expr: int or long value that will be converted to a hex string. Other types aren’t supported.
 
Returns
If conversion is successful, result will be a string value. If conversion isn’t successful, result will be false.Examples
- Result:
 
tolong()
Converts input to long (signed 64-bit) number representation.Arguments
- Expr: Expression that will be converted to long.
 
Returns
If conversion is successful, result will be a long number. If conversion isn’t successful, result will be false.Examples
- Result:
 
dynamic_to_json()
Converts a scalar value of typedynamic to a canonical string representation.
Arguments
- dynamic input (EXpr): The function accepts one argument.
 
Returns
Returns a canonical representation of the input as a value of typestring, according to the following rules:
- 
If the input is a scalar value of type other than 
dynamic, the output is the app oftostring()to that value. - If the input in an array of values, the output is composed of the characters [, ,, and ] interspersed with the canonical representation described here of each array element.
 - If the input is a property bag, the output is composed of the characters {, ,, and } interspersed with the colon (:)-delimited name/value pairs of the properties. The pairs are sorted by the names, and the values are in the canonical representation described here of each array element.
 
Examples
- Result:
 
isbool()
Returns a value of true or false if the expression value is passed.Arguments
- Expr: The function accepts one argument. The variable of expression to be evaluated.
 
Returns
Returnstrue if expression value is a bool, false otherwise.
Examples
- Result:
 
toint()
Converts the input to an integer value (signed 64-bit) number representation.Arguments
- Value: The value to convert to an integer.
 
Returns
If the conversion is successful, the result will be an integer. Otherwise, the result will benull.