Database
 sql >> Baza danych >  >> RDS >> Database

Jak tworzyć liczby pięter w SQL

Problem:

Chcesz zaokrąglić liczbę w dół do najbliższej liczby całkowitej.

Przykład:

W naszej bazie danych znajduje się tabela o nazwie pracownik z danymi w kolumnach:id , first_name , last_name i hours_worked (na bieżący miesiąc).

id imię nazwisko hours_worked
1 Alan Watson 95
2 Lisa Czarny 225
3 Laura Williams 104

Pokażmy imię i nazwisko każdego pracownika wraz z liczbą przepracowanych dni. Ponieważ tabela pokazuje tylko liczbę przepracowanych godzin, a nie dni, musimy sami obliczyć tę wartość.

W przypadku tego problemu założymy, że każdy pracownik ma standardowy ośmiogodzinny dzień pracy bez żadnych nieprawidłowości. Dlatego liczba przepracowanych dni to liczba godzin podzielona przez osiem.

Rozwiązanie:

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

Zapytanie zwraca imię i nazwisko każdego pracownika oraz liczbę dni przepracowanych w tym miesiącu.

nazwisko imię dni_przepracowane
Watson Alan 11
Czarny Lisa 28
Williams Laura 13

Dyskusja:

Podłogi to prosta operacja matematyczna, która bierze liczbę i zaokrągla ją w dół do najbliższej liczby całkowitej. Na przykład sama podłoga 5 to 5, podczas gdy podłoga 5.1 to również 5. Jako inny przykład, podłoga 4.9 to 4.

W SQL używamy funkcji FLOOR. Zaokrągla liczbę i zwraca najbliższą liczbę całkowitą, która jest jej mniejsza lub równa. W naszym przykładzie liczba przepracowanych dni musi być liczbą całkowitą, a nie liczbą zmiennoprzecinkową. Dlatego użyliśmy (FLOOR(hours_worked/8) ).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ScaleGrid podnosi rundę wzrostu kapitału od partnerów Spotlight Equity w celu przyspieszenia ekspansji i dalszych inwestycji w plan rozwoju produktów

  2. NULL złożoności – część 1

  3. ScaleGrid wśród 100 najlepszych dostawców usług w chmurze

  4. Odczytany, niezatwierdzony poziom izolacji

  5. Filtrowanie danych za pomocą JDBC RowSet