MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Jak STRCMP() działa w MariaDB

W MariaDB, STRCMP() to wbudowana funkcja łańcuchowa, która porównuje dwa łańcuchy. Zwraca 0 , -1 lub 1 , w zależności od tego, czy ciągi są takie same, czy nie.

Oto możliwe wyniki i ich znaczenie:

0 Ciągi są takie same.
-1 Pierwszy argument jest mniejszy niż drugi zgodnie z bieżącym porządkiem sortowania.
1 Pierwszy argument jest większy niż drugi zgodnie z bieżącym porządkiem sortowania

Składnia

Składnia wygląda tak:

STRCMP(expr1,expr2)

Gdzie expr1 jest pierwszym ciągiem, a expr2 jest drugim ciągiem.

Przykład

Oto podstawowy przykład:

SELECT 
    STRCMP('abc', 'abc') AS "1",
    STRCMP('abc', 'def') AS "2",
    STRCMP('def', 'abc') AS "3";

Wynik:

+---+----+---+
| 1 | 2  | 3 |
+---+----+---+
| 0 | -1 | 1 |
+---+----+---+

Ten przykład pokazuje każdy możliwy wynik, który STRCMP() może produkować.

Oto kolejny przykład:

SELECT 
    STRCMP('Cat', 'Cattery') AS "1",
    STRCMP('Dog', 'dog') AS "2",
    STRCMP('Cow 07', 'Cow 007') AS "3";

Wynik:

+----+---+---+
| 1  | 2 | 3 |
+----+---+---+
| -1 | 0 | 1 |
+----+---+---+

Puste ciągi a spacje

Porównanie pustego ciągu ze spacją daje w wyniku 0 :

SELECT 
    STRCMP(' ', ''),
    STRCMP('', ' ');

Wynik:

+-----------------+-----------------+
| STRCMP(' ', '') | STRCMP('', ' ') |
+-----------------+-----------------+
|               0 |               0 |
+-----------------+-----------------+

Argumenty zerowe

Przekazywanie null dla dowolnego argumentu (lub wszystkich argumentów) zwraca null :

SELECT 
    STRCMP(null, 'abc'),
    STRCMP('abc', null),
    STRCMP(null, null);

Wynik:

+---------------------+---------------------+--------------------+
| STRCMP(null, 'abc') | STRCMP('abc', null) | STRCMP(null, null) |
+---------------------+---------------------+--------------------+
|                NULL |                NULL |               NULL |
+---------------------+---------------------+--------------------+

Brakujący argument

Wywołanie STRCMP() z niewłaściwą liczbą argumentów lub bez przekazania jakichkolwiek argumentów powoduje błąd:

SELECT STRCMP();

Wynik:

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. MariaDB SYSTEM_USER() Objaśnienie

  2. Przedstawiamy MariaDB Platform X5:bazę danych o dowolnym obciążeniu, teraz w dowolnej skali

  3. Jak działa POKAŻ ZESTAW ZNAKÓW w MariaDB

  4. MariaDB FLOOR() a OBCIĄŻENIE()

  5. 8 sposobów na dodanie minut do daty i godziny w MariaDB