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

MariaDBでのMOD()のしくみ

    MariaDBでは、MOD() モジュロ演算を返す組み込み関数です。最初の引数の余りを2番目の引数で割った値を返します。

    構文

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

    MOD(N,M)

    この関数は、Nの余りを返します Mで割った値 。

    この演算はモジュロ演算子を使用して実行することもできるため、次の構文を使用して同じ結果を得ることができます。

    N % M
    N MOD M

    デモンストレーションの例を次に示します。

    SELECT MOD(9, 2);

    結果:

    +-----------+
    | MOD(9, 2) |
    +-----------+
    |         1 |
    +-----------+

    さらにいくつかあります:

    SELECT 
        MOD(8, 2),
        MOD(134, 6),
        MOD(9, 5),
        MOD(9, 10);

    結果:

    +-----------+-------------+-----------+------------+
    | MOD(8, 2) | MOD(134, 6) | MOD(9, 5) | MOD(9, 10) |
    +-----------+-------------+-----------+------------+
    |         0 |           2 |         4 |          9 |
    +-----------+-------------+-----------+------------+

    モジュロ演算子との比較

    関数と演算子の構文を比較する例を次に示します。

    SELECT 
        MOD(9, 2),
        9 % 2,
        9 MOD 2;

    結果:

    +-----------+-------+---------+
    | MOD(9, 2) | 9 % 2 | 9 MOD 2 |
    +-----------+-------+---------+
    |         1 |     1 |       1 |
    +-----------+-------+---------+

    非数値引数

    数値以外の引数を指定するとどうなるかの例を次に示します。

    SELECT MOD('Homer', 'Symptom');

    結果:

    +-------------------------+
    | MOD('Homer', 'Symptom') |
    +-------------------------+
    |                    NULL |
    +-------------------------+
    1 row in set, 3 warnings (0.005 sec)

    警告を見てみましょう:

    SHOW WARNINGS;

    結果:

    +---------+------+---------------------------------------------+
    | Level   | Code | Message                                     |
    +---------+------+---------------------------------------------+
    | Warning | 1292 | Truncated incorrect DOUBLE value: 'Homer'   |
    | Warning | 1292 | Truncated incorrect DOUBLE value: 'Symptom' |
    | Warning | 1365 | Division by 0                               |
    +---------+------+---------------------------------------------+

    ヌル引数

    MOD() nullを返します いずれかの引数がnullの場合 :

    SELECT 
        MOD(null, 2),
        MOD(9, null),
        MOD(null, null);

    結果:

    +--------------+--------------+-----------------+
    | MOD(null, 2) | MOD(9, null) | MOD(null, null) |
    +--------------+--------------+-----------------+
    |         NULL |         NULL |            NULL |
    +--------------+--------------+-----------------+

    引数がありません

    MOD()の呼び出し 引数の数が間違っているか、引数がない場合、エラーが発生します:

    SELECT MOD();

    結果:

    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1

    そして:

    SELECT MOD(10, 2, 3);

    結果:

    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' 3)' at line 1

    1. データベースアクセスにPHPPDOを使用する必要がある理由

    2. データベース内の1対1の関係とは何ですか?

    3. タクシーサービスのデータベースモデル

    4. SQLServerでgroup_concatを使用してクエリを実行する方法