Condividi tramite


parse_version()

Si applica a: ✅Microsoft Fabric

Converte la rappresentazione di stringa di input di un numero di versione in un numero decimale che può essere confrontato.

Sintassi

parse_version ( Versione)

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Digita Obbligatorio Descrizione
version string ✔️ Versione da analizzare.

Nota

  • la versione deve contenere da una a quattro parti della versione, rappresentate come numeri e separate con punti ('.').
  • Ogni parte della versione può contenere fino a otto cifre, con il valore massimo a 99999999.
  • Se il numero di parti è minore di quattro, tutte le parti mancanti vengono considerate finali. Ad esempio: 1.0 == 1.0.0.0.

Valori restituiti

Se la conversione ha esito positivo, il risultato è un decimale; in caso contrario, il risultato è null.

Esempi

Analizzare le stringhe di versione

La query seguente mostra le stringhe di versione con i numeri di versione analizzati.

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)

Output

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

Confrontare le stringhe di versione analizzate

La query seguente identifica i lab in cui sono necessari aggiornamenti confrontando le stringhe di versione analizzate con il numero di versione minimo "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

Output

laboratorio v needs_update
Lab A 0.0.0.5
Lab B 0.0.7.0
Lab C 0.2
Lab D 0.0.3
Lab E 1 No
Lab F 1.2.3.4 No
Lab G 0.1.2.0