Database
 sql >> Base de Dados >  >> RDS >> Database

Como Piso Números em SQL

Problema:


Você deseja arredondar um número para baixo para o inteiro mais próximo.

Exemplo:


Nosso banco de dados possui uma tabela chamada empregado com dados nas seguintes colunas:id , first_name , last_name e hours_worked (para o mês atual).
id first_name last_name horas_trabalhadas
1 Alan Watson 95
2 Lisa Preto 225
3 Laura Williams 104

Vamos mostrar o nome e o sobrenome de cada funcionário junto com o número de dias que eles trabalharam. Como a tabela mostra apenas o número de horas trabalhadas e não os dias, temos que calcular esse valor nós mesmos.

Para este problema, vamos supor que cada funcionário tenha uma jornada de trabalho padrão de oito horas sem irregularidades. Portanto, o número de dias trabalhados é o número de horas dividido por oito.

Solução:

SELECT last_name, first_name, FLOOR(hours_worked/8) AS days_worked
FROM employee;

A consulta retorna o nome e sobrenome de cada funcionário e o número de dias que eles trabalharam neste mês.
last_name first_name dias_trabalhados
Watson Alan 11
Preto Lisa 28
Williams Laura 13

Discussão:


O piso é uma operação matemática simples que pega um número e o arredonda para o número inteiro mais próximo. Por exemplo, o piso de 5 é o próprio 5, enquanto o piso de 5,1 também é 5. Como outro exemplo, o piso de 4,9 é 4.

Em SQL, usamos a função FLOOR. Leva o número para arredondar e retorna o inteiro mais próximo que é menor ou igual a ele. Em nosso exemplo, o número de dias trabalhados deve ser um número inteiro, não um número de ponto flutuante. Assim, usamos (FLOOR(hours_worked/8) ).