parse_version()

Konwertuje reprezentację ciągu wejściowego wersji na porównywalną liczbę dziesiętną.

Składnia

parse_version(Wersja)

Dowiedz się więcej o konwencjach składniowych.

Parametry

Nazwa Typ Wymagane Opis
Wersja 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ą 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 będzie dziesiętny. Jeśli konwersja nie powiedzie się, wynikiem będzie null.

Przykład

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", "99999999.0.0.0"
];
dt
| project v1=v, _key=1 
| join kind=inner (dt | project v2=v, _key = 1) on _key
| where v1 != v2
| summarize v1 = max(v1), v2 = min(v2) by (hash(v1) + hash(v2)) // removing duplications
| project v1, v2, higher_version = iif(parse_version(v1) > parse_version(v2), v1, v2)

Dane wyjściowe

v1 v2 higher_version
99999999.0.0.0 0.0.0.5 99999999.0.0.0
1 0.0.0.5 1
1.2.3.4 0.0.0.5 1.2.3.4
0.1.2.0 0.0.0.5 0.1.2.0
0,2 0.0.0.5 0,2
0.0.3 0.0.0.5 0.0.3
0.0.7.0 0.0.0.5 0.0.7.0
99999999.0.0.0 0.0.7.0 99999999.0.0.0
1 0.0.7.0 1
1.2.3.4 0.0.7.0 1.2.3.4
0.1.2.0 0.0.7.0 0.1.2.0
0,2 0.0.7.0 0,2
0.0.7.0 0.0.3 0.0.7.0
99999999.0.0.0 0.0.3 99999999.0.0.0
1 0.0.3 1
1.2.3.4 0.0.3 1.2.3.4
0.1.2.0 0.0.3 0.1.2.0
0,2 0.0.3 0,2
99999999.0.0.0 0,2 99999999.0.0.0
1 0,2 1
1.2.3.4 0,2 1.2.3.4
0,2 0.1.2.0 0,2
99999999.0.0.0 0.1.2.0 99999999.0.0.0
1 0.1.2.0 1
1.2.3.4 0.1.2.0 1.2.3.4
99999999.0.0.0 1.2.3.4 99999999.0.0.0
1.2.3.4 1 1.2.3.4
99999999.0.0.0 1 99999999.0.0.0