sql >> データベース >  >> RDS >> Database

SQLで数値をフロア化する方法

    問題:

    数値を最も近い整数に切り捨てたい。

    例:

    私たちのデータベースには、employeeという名前のテーブルがあり、次の列にデータがあります:idfirst_namelast_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)


    1. SQLServerコレクションインベントリスクリプト-1

    2. MySQLデータベースサービス–新しいHeatWaveイノベーション

    3. beginとendを持つ2つのPLSQL文は、別々に正常に実行されますが、一緒に実行されませんか?

    4. MySqlの保護されたキーワードと同じ名前を共有するテーブルのSQLを作成するにはどうすればよいですか?