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

MariaDBでのモジュロ演算子のしくみ

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

    構文

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

    N % M

    これにより、Nの残りが返されます Mで割った値 。

    この操作は、MODを使用して実行することもできます。 キーワードとMOD() 働き。したがって、次の構文を使用して同じ結果を得ることができます。

    MOD(N,M)
    N MOD M

    モジュロ演算子を示す例を次に示します。

    SELECT 9 % 2;

    結果:

    +-------+
    | 9 % 2 |
    +-------+
    |     1 |
    +-------+

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

    SELECT 
        8 % 2,
        134 % 27,
        9 % 5,
        9 % 10;

    結果:

    +-------+----------+-------+--------+
    | 8 % 2 | 134 % 27 | 9 % 5 | 9 % 10 |
    +-------+----------+-------+--------+
    |     0 |       26 |     4 |      9 |
    +-------+----------+-------+--------+

    MODとの比較 &MOD()

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

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

    結果:

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

    非数値引数

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

    SELECT 'Bird' % 'Dog';

    結果:

    +----------------+
    | 'Bird' % 'Dog' |
    +----------------+
    |           NULL |
    +----------------+
    1 row in set, 3 warnings (0.000 sec)

    警告を見てみましょう:

    SHOW WARNINGS;

    結果:

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

    ヌルオペランド

    結果はnullです いずれかのオペランドがnullの場合 :

    SELECT 
        null % 2,
        134 % null,
        null % null;

    結果:

    +----------+------------+-------------+
    | null % 2 | 134 % null | null % null |
    +----------+------------+-------------+
    |     NULL |       NULL |        NULL |
    +----------+------------+-------------+

    1. テキストファイルからOracleのテーブルへのデータのロード

    2. パッケージの実行中にエラーが発生する

    3. SQL Server(T-SQL)でUnixタイムスタンプを返す方法

    4. LaravelOrderByリレーションシップカウント