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'