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 | +---------+------+------------------------------------------+