Buscar
  • Ignez Mello

Desafio dos milissegundos

Atualizado: 1 de Ago de 2019


Encontrei esse desafio em um post no blog SQL Authority. Depois de uns dois minutos olhando para a query, descobri o segredo, e percebi como não prestamos tanta atenção ao que está em frente aos nossos olhos como deveríamos.

Segue o desafio para você. A resposta está no final do post, beeem lá em baixo, para evitar spoiler!

Execute este script no SQL Server:


Agora observe o resultado:


A hora da coluna FirstVal termina com 690 milissegundos. Mas a coluna SecondVal terminal com 70 milissegundos. Só que no SELECT, ambas são iguais.

Aqui vai o desafio: Por que o resultado do SELECT apresenta valores diferentes?

A resposta está lá embaixo.

.

.

.

.

.

10

.

.

.

.

.

9

.

.

.

.

.

8

.

.

.

.

.

7

.

.

.

.

.

6

.

.

.

.

.

5

.

.

.

.

.

4

.

.

.

.

.

3

.

.

.

.

.

2

.

.

.

.

.

1

.

.

.

.

.

Resposta:

A coluna FirstVal usa 34.69 (ponto decimal), o que significa 69/100 de um segundo.

A coluna SecondValues usa 34:69 (dois pontos), o que significa 69 milissegundos. E o SQL Server exibe os milissegundos com 3 posições. Por isso, fica 070!


56 visualizações