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 |