标量数据类型

适用于:✅Azure 数据资源管理器Azure MonitorMicrosoft Sentinel

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

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

备注

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

支持的数据类型

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

类型 描述
布尔 (boolean) true (1) 或 false (0)。
日期/时间 (date) 某个时刻,通常以日期和当天的时间表示。
十进制 128 位的十进制数字。
动态 数组、属性包或任何其他标量数据类型的值。
guiduuiduniqueid 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 值