你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

parse_version()

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

将版本号的输入字符串表示形式转换为可以比较的十进制数。

语法

parse_version ( 版本)

详细了解语法约定

参数

客户 类型​​ 必需 说明
version string ✔️ 要分析的版本。

注意

  • 版本必须包含一到四个版本部分,用数字表示,并用点(“.”)分隔。
  • 版本的每个部分最多可包含八个数字,最大值为 99999999。
  • 如果少于四个部分,则所有缺少的部分将被视为尾随部分。 例如,1.0 == 1.0.0.0

返回

如果转换成功,则结果为十进制;否则,结果为 null

例子

分析版本字符串

以下查询显示版本字符串及其分析的版本号。

let dt = datatable(v: string)
    [
    "0.0.0.5", "0.0.7.0", "0.0.3", "0.2", "0.1.2.0", "1.2.3.4", "1"
];
dt
| extend parsedVersion = parse_version(v)

输出

v parsedVersion
0.0.0.5 5
0.0.7.0 700,000,000
0.0.3 300,000,000
0.2 20,000,000,000,000,000
0.1.2.0 10,000,000,200,000,000
1.2.3.4 1,000,000,020,000,000,300,000,004
1 1,000,000,000,000,000,000,000,000

比较分析的版本字符串

以下查询通过将分析的版本字符串与最低版本号“1.0.0.0”进行比较,确定哪些实验室具有需要更新的设备。

let dt = datatable(lab: string, v: string)
[
    "Lab A", "0.0.0.5",
    "Lab B", "0.0.7.0",
    "Lab D","0.0.3",
    "Lab C", "0.2", 
    "Lab G", "0.1.2.0",
    "Lab F", "1.2.3.4",
    "Lab E", "1",
];
dt
| extend parsed_version = parse_version(v)
| extend needs_update = iff(parsed_version < parse_version("1.0.0.0"), "Yes", "No")
| project lab, v, needs_update
| sort by lab asc , v, needs_update

输出

实验室 v needs_update
实验室 A 0.0.0.5 是的
实验室 B 0.0.7.0 是的
实验室 C 0.2 是的
实验室 D 0.0.3 是的
实验室 E 1
实验室 F 1.2.3.4
实验室 G 0.1.2.0 是的