标量数据类型

使用 “版本 ”下拉列表切换服务。 了解有关导航的详细信息。
适用于:✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel

每个数据值(如表达式或函数参数的值)都有一个 数据类型,即 标量数据类型 或 用户定义的记录。 标量数据类型 是 支持的数据类型中的内置预定义类型之一。 用户定义的记录 是名称和标量数据类型对的有序序列,如表中行的数据类型。

与在大多数语言中一样,数据类型决定了可以针对值运行的计算和操作。 例如,如果值的类型为 string,则将无法对其进行算术计算。

注意

虽然 Kusto 支持用户定义的记录,但用户定义数据类型不受支持。

支持的数据类型

在 Kusto 查询语言中,大多数数据类型都遵循标准约定,并具有你之前可能见过的名称。 下表显示了完整列表:

类型 描述
布尔 (boolean) true (1) 或 false (0)。
日期/时间 (date) 某个时刻,通常以日期和当天的时间表示。
十进制 128 位的十进制数字。
动态 数组、属性包或任何其他标量数据类型的值。
guid(uuid、uniqueid) 128 位的全局唯一值。
int 带符号的 32 位整数。
长 带符号的 64 位整数。
真实(double) 64 位双精度浮点数。
字符串 由零个或多个 Unicode 字符构成的序列。
时间跨度(time) 时间间隔。

提示

若要检查值的数据类型,请使用 gettype() 函数。

虽然大多数数据类型都是标准的,但对 动态 或 时间跨度和 guid 等类型可能不太熟悉。

  • 动态类型的结构与 JSON 非常相似,但两者存在一项重要差别:动态类型可以存储特定于 Kusto 查询语言的数据类型,例如嵌套的动态值或时间范围,而传统的 JSON 则不可以。

  • 时间范围是引用时间度量(例如小时、天或秒)的一种数据类型。 请不要将时间范围与日期/时间相混淆,后者计算为实际日期和时间,而不是时间度量。 下表显示了时间范围后缀的列表。

  • GUID 是表示 128 位全局唯一标识符的数据类型,它遵循标准格式 [8]-[4]-[4]-[4]-[4]-[12],其中每个 [数字] 表示字符数,每个字符可以介于 0-9 或 a-f 之间。

Null 值

所有非字符串数据类型都可以为 null。 如果值为 null,则表示数据缺失或不匹配。 例如,如果尝试将字符串 abc 输入到整数列中,则会导致 null 值。 若要检查表达式是否为 null,请使用 isnull() 函数。

有关详细信息,请参阅 Null 值。