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

MariaDBでのDIVのしくみ

    MariaDBでは、DIV 整数除算を実行します。

    除算結果から小数点の右側の小数部分を破棄します。

    構文

    構文は次のようになります:

    DIV

    割り算する数字は左側にあり、割り算する数字は右側にあります。

    次に例を示します:

    SELECT 100 DIV 2;

    結果:

    +-----------+
    | 100 DIV 2 |
    +-----------+
    |        50 |
    +-----------+

    フラクショナル結果

    前述のように、DIV 除算結果から小数点の右側の小数部分を破棄します。

    例:

    SELECT 100 DIV 3;

    結果:

    +-----------+
    | 100 DIV 3 |
    +-----------+
    |        33 |
    +-----------+

    ゼロ除算

    ERROR_FOR_DIVISION_BY_ZEROの場合 SQLモードが設定されていない場合、ゼロ除算はNULLを返します 警告付き。設定されている場合、ゼロによる除算は、列を1/0で更新しようとするとエラーを返し、警告も返します。

    これがNULLの例です 結果:

    SELECT 100 DIV 0;

    結果:

    +-----------+
    | 100 DIV 0 |
    +-----------+
    |      NULL |
    +-----------+
    1 row in set, 1 warning (0.001 sec)

    警告を確認しましょう:

    SHOW WARNINGS;

    結果:

    +---------+------+---------------+
    | Level   | Code | Message       |
    +---------+------+---------------+
    | Warning | 1365 | Division by 0 |
    +---------+------+---------------+

    無効なオペランド

    無効なオペランドを使用すると、NULLになります 警告付き:

    SELECT 'One' DIV 'Two';

    結果:

    +-----------------+
    | 'One' DIV 'Two' |
    +-----------------+
    |            NULL |
    +-----------------+
    1 row in set, 3 warnings (0.013 sec)

    警告を確認してください:

    SHOW WARNINGS;

    結果:

    +---------+------+------------------------------------------+
    | Level   | Code | Message                                  |
    +---------+------+------------------------------------------+
    | Warning | 1292 | Truncated incorrect DECIMAL value: 'One' |
    | Warning | 1292 | Truncated incorrect DECIMAL value: 'Two' |
    | Warning | 1365 | Division by 0                            |
    +---------+------+------------------------------------------+

    1. 読み取り専用のMySQLユーザーを作成するにはどうすればよいですか?

    2. SQLServer2019エディションについての考え

    3. ORA-00984:列はここでは許可されていません

    4. SQLIN句でのタプルの使用