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'