Partager via


parse_version()

S’applique à : ✅Microsoft Fabric

Convertit la représentation sous forme de chaîne d’entrée d’un numéro de version en nombre décimal qui peut être comparé.

Syntaxe

parse_version ( Version)

En savoir plus sur les conventions de syntaxe.

Paramètres

Nom Type Requise Description
version string ✔️ Version à analyser.

Remarque

  • la version doit contenir de un à quatre parties de version, représentées sous forme de nombres et séparées par des points ('.').
  • Chaque partie de la version peut contenir jusqu’à huit chiffres, avec la valeur maximale à 99999999.
  • Si le nombre de parties est inférieur à quatre, toutes les parties manquantes sont considérées comme étant à la fin. Par exemple : 1.0 == 1.0.0.0.

Retours

Si la conversion réussit, le résultat est décimal ; sinon, le résultat est null.

Exemples

Analyser les chaînes de version

La requête suivante montre les chaînes de version avec leurs numéros de version analysés.

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)

Sortie

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

Comparer les chaînes de version analysées

La requête suivante identifie les laboratoires qui ont besoin de mises à jour en comparant leurs chaînes de version analysées au numéro de version minimal « 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

Sortie

laboratoire v needs_update
Laboratoire A 0.0.0.5 Oui
Laboratoire B 0.0.7.0 Oui
Laboratoire C 0.2 Oui
Laboratoire D 0.0.3 Oui
Laboratoire E 1 Non
Laboratoire F 1.2.3.4 Non
Laboratoire G 0.1.2.0 Oui