MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Как STRCMP() работи в MariaDB

В MariaDB, STRCMP() е вградена низова функция, която сравнява два низа. Връща 0 , -1 , или 1 , в зависимост от това дали низовете са еднакви или не.

Ето възможните резултати и какво означават те:

0 Низовете са едни и същи.
-1 Първият аргумент е по-малък от втория според текущия ред на сортиране.
1 Първият аргумент е по-голям от втория според текущия ред на сортиране

Синтаксис

Синтаксисът е така:

STRCMP(expr1,expr2)

Където expr1 е първият низ и expr2 е вторият низ.

Пример

Ето един основен пример:

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'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разбиране на индексите в MySQL:Част втора

  2. MariaDB SESSION_USER() Обяснено

  3. Как да направите възстановяване по време на MySQL и MariaDB данни с помощта на ClusterControl

  4. Основно управление на MaxScale с помощта на MaxCtrl за MariaDB клъстер - част втора

  5. MariaDB Connector/Python бета вече е наличен