In MariaDB, STRCMP()
is een ingebouwde tekenreeksfunctie die twee tekenreeksen vergelijkt. Het retourneert 0
, -1
, of 1
, afhankelijk van of de snaren hetzelfde zijn of niet.
Hier zijn de mogelijke resultaten en wat ze betekenen:
0 | De snaren zijn hetzelfde. |
-1 | Het eerste argument is kleiner dan het tweede volgens de huidige sorteervolgorde. |
1 | Het eerste argument is groter dan het tweede volgens de huidige sorteervolgorde |
Syntaxis
De syntaxis gaat als volgt:
STRCMP(expr1,expr2)
Waar expr1
is de eerste string, en expr2
is de tweede string.
Voorbeeld
Hier is een eenvoudig voorbeeld:
SELECT
STRCMP('abc', 'abc') AS "1",
STRCMP('abc', 'def') AS "2",
STRCMP('def', 'abc') AS "3";
Resultaat:
+---+----+---+ | 1 | 2 | 3 | +---+----+---+ | 0 | -1 | 1 | +---+----+---+
Dit voorbeeld demonstreert elke mogelijke uitkomst die STRCMP()
kan produceren.
Hier is nog een voorbeeld:
SELECT
STRCMP('Cat', 'Cattery') AS "1",
STRCMP('Dog', 'dog') AS "2",
STRCMP('Cow 07', 'Cow 007') AS "3";
Resultaat:
+----+---+---+ | 1 | 2 | 3 | +----+---+---+ | -1 | 0 | 1 | +----+---+---+
Lege tekenreeksen versus spaties
Het vergelijken van een lege string met een spatie resulteert in 0
:
SELECT
STRCMP(' ', ''),
STRCMP('', ' ');
Resultaat:
+-----------------+-----------------+ | STRCMP(' ', '') | STRCMP('', ' ') | +-----------------+-----------------+ | 0 | 0 | +-----------------+-----------------+
Nullargumenten
Doorgeven van null
voor elk argument (of alle argumenten) retourneert null
:
SELECT
STRCMP(null, 'abc'),
STRCMP('abc', null),
STRCMP(null, null);
Resultaat:
+---------------------+---------------------+--------------------+ | STRCMP(null, 'abc') | STRCMP('abc', null) | STRCMP(null, null) | +---------------------+---------------------+--------------------+ | NULL | NULL | NULL | +---------------------+---------------------+--------------------+
Ontbrekend argument
STRCMP()
. aanroepen met het verkeerde aantal argumenten, of zonder het doorgeven van argumenten resulteert in een fout:
SELECT STRCMP();
Resultaat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'STRCMP'