Di MariaDB, STRCMP()
adalah fungsi string bawaan yang membandingkan dua string. Ini mengembalikan 0
, -1
, atau 1
, tergantung apakah stringnya sama atau tidak.
Berikut adalah kemungkinan hasil dan artinya:
0 | Stringnya sama. |
-1 | Argumen pertama lebih kecil dari yang kedua menurut urutan pengurutan saat ini. |
1 | Argumen pertama lebih besar dari yang kedua menurut urutan pengurutan saat ini |
Sintaks
Sintaksnya seperti ini:
STRCMP(expr1,expr2)
Dimana expr1
adalah string pertama, dan expr2
adalah string kedua.
Contoh
Berikut ini contoh dasarnya:
SELECT
STRCMP('abc', 'abc') AS "1",
STRCMP('abc', 'def') AS "2",
STRCMP('def', 'abc') AS "3";
Hasil:
+---+----+---+ | 1 | 2 | 3 | +---+----+---+ | 0 | -1 | 1 | +---+----+---+
Contoh ini menunjukkan setiap kemungkinan hasil yang STRCMP()
dapat menghasilkan.
Ini contoh lain:
SELECT
STRCMP('Cat', 'Cattery') AS "1",
STRCMP('Dog', 'dog') AS "2",
STRCMP('Cow 07', 'Cow 007') AS "3";
Hasil:
+----+---+---+ | 1 | 2 | 3 | +----+---+---+ | -1 | 0 | 1 | +----+---+---+
String Kosong vs Spasi
Membandingkan string kosong dengan spasi menghasilkan 0
:
SELECT
STRCMP(' ', ''),
STRCMP('', ' ');
Hasil:
+-----------------+-----------------+ | STRCMP(' ', '') | STRCMP('', ' ') | +-----------------+-----------------+ | 0 | 0 | +-----------------+-----------------+
Argumen Null
Melewati null
untuk argumen apa pun (atau semua argumen) mengembalikan null
:
SELECT
STRCMP(null, 'abc'),
STRCMP('abc', null),
STRCMP(null, null);
Hasil:
+---------------------+---------------------+--------------------+ | STRCMP(null, 'abc') | STRCMP('abc', null) | STRCMP(null, null) | +---------------------+---------------------+--------------------+ | NULL | NULL | NULL | +---------------------+---------------------+--------------------+
Argumen Tidak Ada
Memanggil STRCMP()
dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun menghasilkan kesalahan:
SELECT STRCMP();
Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'STRCMP'