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

MariaDBでのSIGN()のしくみ

    MariaDBでは、SIGN() 引数の符号を-1として返す組み込み関数です。 、0 、または1 、引数が負、ゼロ、または正のいずれであるかによって異なります。

    構文

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

    SIGN(X)

    ここでX 記号を返す値です。

    例1

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

    SELECT SIGN(9);

    結果:

    +---------+
    | SIGN(9) |
    +---------+
    |       1 |
    +---------+

    この例では、値は正であるため、1 返されます。

    例2

    可能な出力を示すために、さらにいくつかの値を示します。

    SELECT 
        SIGN(8),
        SIGN(-8),
        SIGN(0);

    結果:

    +---------+----------+---------+
    | SIGN(8) | SIGN(-8) | SIGN(0) |
    +---------+----------+---------+
    |       1 |       -1 |       0 |
    +---------+----------+---------+

    非数値引数

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

    SELECT SIGN('Nine');

    結果:

    +--------------+
    | SIGN('Nine') |
    +--------------+
    |            0 |
    +--------------+
    1 row in set, 1 warning (0.000 sec)

    警告を見てみましょう:

    SHOW WARNINGS;

    結果:

    +---------+------+------------------------------------------+
    | Level   | Code | Message                                  |
    +---------+------+------------------------------------------+
    | Warning | 1292 | Truncated incorrect DOUBLE value: 'Nine' |
    +---------+------+------------------------------------------+

    ヌル引数

    SIGN() nullを返します 引数がnullの場合 :

    SELECT SIGN(null);

    結果:

    +------------+
    | SIGN(null) |
    +------------+
    |       NULL |
    +------------+

    パラメータカウントが正しくありません

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

    SELECT SIGN();

    結果:

    ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SIGN'

    そして:

    SELECT SIGN(10, 2);

    結果:

    ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SIGN'

    1. SQLで個別の値をカウントする方法

    2. mysqlで単一のキーワードを持つ単一のwhere条件を使用してテーブルのすべての列を検索します

    3. Hibernateでの同時更新処理

    4. OracleのROWIDTONCHAR()関数