Partilhar via


parse_version()

Aplica-se a: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

Converte a representação da cadeia de caracteres de entrada de um número de versão em um número decimal que pode ser comparado.

Sintaxe

parse_version ( versão)

Saiba mais sobre convenções de sintaxe.

Parâmetros

Designação Tipo Necessário Descrição
versão string ✔️ A versão a ser analisada.

Observação

  • versão deve conter de uma a quatro partes da versão, representadas como números e separadas por pontos ('.').
  • Cada parte de versão pode conter até oito dígitos, com o valor máximo em 99999999.
  • Se o número de peças for inferior a quatro, todas as partes em falta são consideradas como remanescentes. Por exemplo, 1.0 == 1.0.0.0.

Devoluções

Se a conversão for bem-sucedida, o resultado será decimal; caso contrário, o resultado é null.

Exemplos

Analisar cadeias de caracteres de versão

A consulta a seguir mostra cadeias de caracteres de versão com seus números de versão analisados.

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)

Output

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

Comparar cadeias de caracteres de versão analisada

A consulta a seguir identifica quais laboratórios têm equipamentos que precisam de atualizações comparando suas cadeias de caracteres de versão analisada com o número mínimo de versão "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

Output

laboratório v needs_update
Laboratório A 0.0.0.5 Sim
Laboratório B 0.0.7.0 Sim
Laboratório C 0.2 Sim
Laboratório D 0.0.3 Sim
Laboratório E 1 Não
Laboratório F 1.2.3.4 Não
Laboratório G 0.1.2.0 Sim