O comando SQL select convert(real,getdate() )executado no...

Próximas questões
Com base no mesmo assunto
Q914453 Banco de Dados

O comando SQL


select convert(real,getdate() )


executado no MS SQL Server, no dia 27/04/2018, às 18.00h, retornou

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa Correta: B - 43215,75

Para resolver essa questão, é importante compreender o funcionamento da função CONVERT no SQL Server. Esta função é usada para converter um tipo de dado para outro. No caso específico, o tipo real é um tipo de dados que armazena números de ponto flutuante.

A função GETDATE() retorna a data e hora atuais do sistema. Aqui, o comando SQL está tentando converter o valor atual da data e hora para um número real.

O SQL Server armazena datas como um número onde a parte inteira representa a data e a parte fracionária representa a hora do dia. Por exemplo, o número inteiro 43215 corresponde ao dia 27/04/2018. Para a hora (18:00), a parte fracionária é calculada dividindo o número de horas pelo número total de horas em um dia (18/24 = 0,75).

Quando combinamos a parte da data (43215) com a parte da hora (0,75), obtemos o número 43215,75. Este é o valor real correspondente à data e hora no formato interno do SQL Server. Portanto, a função CONVERT executada irá retornar este valor, validando assim a alternativa B como a correta.

É relevante destacar que o entendimento do armazenamento interno de datas e horas no SQL Server é crucial para justificar a resposta correta e para outras operações relacionadas à manipulação de datas no banco de dados.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Alguém sabe o que houve?

Alguém explica, por favor ?

Roda esse comando :

select convert(real,getdate() - 293 )

https://rextester.com/l/sql_server_online_compiler

select convert(real,convert(datetime,'04.27.2018 18:00:00') ) ;

Execute o valor acima para dar o valor exato da resposta.

é só ir por eliminação, o valor será convertido com duas casas decimais e sem ter exatamente os numeros das datas

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo