Compartir a través de


parse_version()

Se aplica a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft 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
Laboratorio B 0.0.7.0
Laboratorio C 0,2
Laboratorio D 0.0.3
Laboratorio E 1 No
Laboratorio F 1.2.3.4 No
Laboratorio G 0.1.2.0