問題:
数値を最も近い整数に切り捨てたい。
例:
私たちのデータベースには、employeeという名前のテーブルがあり、次の列にデータがあります:id
、first_name
、last_name
、およびhours_worked
(今月の場合)。
id | first_name | last_name | hours_worked |
---|---|---|---|
1 | アラン | ワトソン | 95 |
2 | リサ | 黒 | 225 |
3 | ローラ | ウィリアムズ | 104 |
各従業員の名前と名前、および勤務日数を表示しましょう。表には労働時間数のみが表示されており、日数は表示されていないため、この値を自分で計算する必要があります。
この問題では、各従業員が不規則性のない標準的な8時間の労働日を持っていると想定します。したがって、労働日数は時間数を8で割ったものになります。
解決策:
SELECT last_name, first_name, FLOOR(hours_worked/8) AS days_worked FROM employee;
クエリは、各従業員の名前と姓、および今月働いた日数を返します。
last_name | first_name | days_worked |
---|---|---|
ワトソン | アラン | 11 |
黒 | リサ | 28 |
ウィリアムズ | ローラ | 13 |
ディスカッション:
フローリングは、数値を取り、それを最も近い整数に切り捨てる単純な数学演算です。たとえば、5のフロア自体は5ですが、5.1のフロアも5です。別の例として、4.9のフロアは4です。
SQLでは、FLOOR関数を使用します。数値を丸めて、それ以下の最も近い整数を返します。この例では、稼働日数は浮動小数点数ではなく整数である必要があります。したがって、(FLOOR(hours_worked/8)
。