MariaDBでは、STRCMP()
2つの文字列を比較する組み込みの文字列関数です。 0
を返します 、-1
、または1
、文字列が同じかどうかによって異なります。
考えられる結果とその意味は次のとおりです。
0 | 文字列は同じです。 |
-1 | 現在の並べ替え順序に従って、最初の引数は2番目の引数よりも小さくなります。 |
1 | 現在の並べ替え順序に従って、最初の引数が2番目の引数よりも大きい |
構文
構文は次のようになります:
STRCMP(expr1,expr2)
ここで、expr1
は最初の文字列であり、expr2
2番目の文字列です。
例
基本的な例は次のとおりです。
SELECT
STRCMP('abc', 'abc') AS "1",
STRCMP('abc', 'def') AS "2",
STRCMP('def', 'abc') AS "3";
結果:
+---+----+---+ | 1 | 2 | 3 | +---+----+---+ | 0 | -1 | 1 | +---+----+---+
この例は、STRCMP()
がもたらす可能性のある各結果を示しています。 生産できます。
別の例を次に示します。
SELECT
STRCMP('Cat', 'Cattery') AS "1",
STRCMP('Dog', 'dog') AS "2",
STRCMP('Cow 07', 'Cow 007') AS "3";
結果:
+----+---+---+ | 1 | 2 | 3 | +----+---+---+ | -1 | 0 | 1 | +----+---+---+
空の文字列とスペース
空の文字列をスペースと比較すると、0
になります。 :
SELECT
STRCMP(' ', ''),
STRCMP('', ' ');
結果:
+-----------------+-----------------+ | STRCMP(' ', '') | STRCMP('', ' ') | +-----------------+-----------------+ | 0 | 0 | +-----------------+-----------------+
ヌル引数
null
を渡す 任意の引数(またはすべての引数)に対して、null
を返します :
SELECT
STRCMP(null, 'abc'),
STRCMP('abc', null),
STRCMP(null, null);
結果:
+---------------------+---------------------+--------------------+ | STRCMP(null, 'abc') | STRCMP('abc', null) | STRCMP(null, null) | +---------------------+---------------------+--------------------+ | NULL | NULL | NULL | +---------------------+---------------------+--------------------+
引数がありません
STRCMP()
の呼び出し 引数の数が間違っているか、引数を渡さないと、エラーが発生します:
SELECT STRCMP();
結果:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'STRCMP'