Udostępnij za pośrednictwem


parse_version()

Dotyczy: ✅Microsoft Fabric

Konwertuje reprezentację ciągu wejściowego numeru wersji na liczbę dziesiętną, którą można porównać.

Składnia

parse_version ( Wersja)

Dowiedz się więcej na temat konwencji składni.

Parametry

Nazwisko Type Wymagania Opis
version string ✔️ Wersja, która ma zostać przeanalizowana.

Uwaga

  • wersja musi zawierać od jednej do czterech części wersji, reprezentowane jako liczby i oddzielone kropkami ('.').
  • Każda część wersji może zawierać maksymalnie osiem cyfr z maksymalną wartością na 99999999.
  • Jeśli liczba części jest mniejsza niż cztery, wszystkie brakujące części są uznawane za końcowe. Na przykład 1.0 == 1.0.0.0.

Zwraca

Jeśli konwersja zakończy się pomyślnie, wynik jest dziesiętny; w przeciwnym razie wynik jest null.

Przykłady

Analizowanie ciągów wersji

Poniższe zapytanie przedstawia ciągi wersji ze przeanalizowanymi numerami wersji.

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)

Wyjście

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

Porównywanie przeanalizowanych ciągów wersji

Poniższe zapytanie określa, które laboratoria mają sprzęt wymagający aktualizacji, porównując ich przeanalizowane ciągi wersji do minimalnej liczby wersji "1.0.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

Wyjście

Lab v needs_update
Laboratorium A 0.0.0.5 Tak
Laboratorium B 0.0.7.0 Tak
Laboratorium C 0,2 Tak
Laboratorium D 0.0.3 Tak
Laboratorium E 1 Nie
Laboratorium F 1.2.3.4 Nie
Laboratorium G 0.1.2.0 Tak