Dela via


parse_version()

Gäller för: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

Konverterar indatasträngens representation av ett versionsnummer till ett decimaltal som kan jämföras.

Syntax

parse_version ( version)

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Krävs Beskrivning
version string ✔️ Den version som ska parsas.

Not

  • version måste innehålla från en till fyra versionsdelar, representeras som siffror och avgränsas med punkter ('.').
  • Varje del av version kan innehålla upp till åtta siffror, med maxvärdet på 99999999.
  • Om antalet delar är mindre än fyra anses alla saknade delar vara avslutande. Till exempel 1.0 == 1.0.0.0.

Returnerar

Om konverteringen lyckas är resultatet en decimal. annars blir resultatet null.

Exempel

Parsa versionssträngar

Följande fråga visar versionssträngar med sina tolkade versionsnummer.

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)

utdata

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

Jämför tolkade versionssträngar

Följande fråga identifierar vilka labb som har utrustning som behöver uppdateringar genom att jämföra deras tolkade versionssträngar med det lägsta versionsnumret "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

utdata

labb v needs_update
Labb A 0.0.0.5 Ja
Labb B 0.0.7.0 Ja
Labb C 0.2 Ja
Labb D 0.0.3 Ja
Labb E 1 Nej
Labb F 1.2.3.4 Nej
Labb G 0.1.2.0 Ja