parse_version()
Van toepassing op: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel-
Converteert de invoertekenreeksweergave van een versienummer naar een decimaal getal dat kan worden vergeleken.
Syntaxis
parse_version
(
versie)
Meer informatie over syntaxisconventies.
Parameters
Naam | Type | Vereist | Beschrijving |
---|---|---|---|
versie | string |
✔️ | De versie die moet worden geparseerd. |
Notitie
- versie moet bestaan uit één tot vier versieonderdelen, weergegeven als getallen en gescheiden door puntjes ('.').
- Elk deel van versie kan maximaal acht cijfers bevatten, met de maximumwaarde op 99999999.
- Als het aantal onderdelen kleiner is dan vier, worden alle ontbrekende onderdelen beschouwd als volgonderdelen. Bijvoorbeeld
1.0
==1.0.0.0
.
Retourneert
Als de conversie is geslaagd, is het resultaat een decimaal; anders wordt het resultaat null
.
Voorbeelden
Versiereeksen parseren
De volgende query toont versietekenreeksen met hun geparseerde versienummers.
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)
uitvoer
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 |
Geparseerde versietekenreeksen vergelijken
De volgende query identificeert welke labs apparatuur hebben die updates nodig heeft door de geparseerde versietekenreeksen te vergelijken met het minimale versienummer 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
uitvoer
lab | v | needs_update |
---|---|---|
Lab A | 0.0.0.5 | Ja |
Lab B | 0.0.7.0 | Ja |
Lab C | 0.2 | Ja |
Lab D | 0.0.3 | Ja |
Lab E | 1 | Nee |
Lab F | 1.2.3.4 | Nee |
Lab G | 0.1.2.0 | Ja |