Scalar data types
Every data value (such as the value of an expression, or the parameter to a function) has a data type. A data type is either a scalar data type (one of the built-in predefined types listed below), or a user-defined record (an ordered sequence of name/scalar-data-type pairs, such as the data type of a row of a table).
KQL supplies a set of system data types that define all the types of data that can be used with KQL.
User-defined data types are not supported in KQL.
The following table lists the data types supported by KQL.
| Type | Additional name(s) |
|---|---|
bool |
boolean |
datetime |
date |
dynamic |
|
guid |
|
int |
|
long |
|
real |
double |
string |
|
timespan |
time |
decimal |
All non-string data types include a special "null" value, which represents the lack of data or a mismatch of data. For example, attempting to ingest the string "abc"into an int column results in this
value. It isn't possible to materialize this value explicitly, but you can detect whether an expression evaluates to this value by using the isnull() function.
Support for the guid type is incomplete. We strongly recommend that teams use values of type string instead.