Masalah:
Anda ingin membulatkan angka ke bawah ke bilangan bulat terdekat.
Contoh:
Basis data kami memiliki tabel bernama karyawan dengan data di kolom berikut:id
, first_name
, last_name
, dan hours_worked
(untuk bulan ini).
id | nama_depan | nama_belakang | jam_kerja |
---|---|---|---|
1 | Alan | Watson | 95 |
2 | Lisa | Hitam | 225 |
3 | Laura | Williams | 104 |
Mari kita tunjukkan nama depan dan belakang setiap karyawan beserta jumlah hari mereka bekerja. Karena tabel hanya menunjukkan jumlah jam kerja dan bukan hari, kita harus menghitung nilai ini sendiri.
Untuk masalah ini, kami akan berasumsi bahwa setiap karyawan memiliki standar delapan jam kerja sehari tanpa penyimpangan. Oleh karena itu, jumlah hari kerja adalah jumlah jam dibagi delapan.
Solusi:
SELECT last_name, first_name, FLOOR(hours_worked/8) AS days_worked FROM employee;
Kueri mengembalikan nama depan dan belakang setiap karyawan dan jumlah hari mereka bekerja bulan ini.
nama_belakang | nama_depan | hari_kerja |
---|---|---|
Watson | Alan | 11 |
Hitam | Lisa | 28 |
Williams | Laura | 13 |
Diskusi:
Flooring adalah operasi matematika sederhana yang mengambil angka dan membulatkannya ke bawah ke bilangan bulat terdekat. Misalnya, lantai 5 adalah 5 itu sendiri, sedangkan lantai 5,1 juga 5. Contoh lain, lantai 4,9 adalah 4.
Dalam SQL, kami menggunakan fungsi LANTAI. Dibutuhkan nomor untuk membulatkan dan mengembalikan bilangan bulat terdekat yang kurang dari atau sama dengan itu. Dalam contoh kita, jumlah hari kerja harus bilangan bulat, bukan bilangan floating-point. Jadi, kami menggunakan (FLOOR(hours_worked/8)
).