parse_version()
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Convierte la representación de cadena de entrada de un número de versión en un número decimal que se puede comparar.
Sintaxis
parse_version
(
Versión)
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
version | string |
✔️ | Versión que se va a analizar. |
Nota:
- la versión debe contener de una a cuatro partes de versión, representadas como números y separados por puntos ('.').
- Cada parte de la versión puede contener hasta ocho dígitos, con el valor máximo en 99999999.
- Si el número de partes es menor que cuatro, todas las partes que faltan se consideran finales. Por ejemplo,
1.0
==1.0.0.0
.
Devoluciones
Si la conversión es correcta, el resultado es un decimal; de lo contrario, el resultado es null
.
Ejemplos
Análisis de cadenas de versión
En la consulta siguiente se muestran las cadenas de versión con sus números de versión analizados.
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)
Salida
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 |
Comparación de cadenas de versión analizadas
La consulta siguiente identifica qué laboratorios tienen equipos que necesitan actualizaciones comparando sus cadenas de versión analizadas con el número de versión mínimo "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
Salida
laboratorio | v | needs_update |
---|---|---|
Laboratorio A | 0.0.0.5 | Sí |
Laboratorio B | 0.0.7.0 | Sí |
Laboratorio C | 0,2 | Sí |
Laboratorio D | 0.0.3 | Sí |
Laboratorio E | 1 | No |
Laboratorio F | 1.2.3.4 | No |
Laboratorio G | 0.1.2.0 | Sí |