MariaDB
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> MariaDB

Cách STRCMP () hoạt động trong MariaDB

Trong MariaDB, STRCMP() là một hàm chuỗi được tích hợp sẵn để so sánh hai chuỗi. Nó trả về 0 , -1 hoặc 1 , tùy thuộc vào việc các chuỗi có giống nhau hay không.

Dưới đây là các kết quả có thể có và ý nghĩa của chúng:

0 Các chuỗi giống nhau.
-1 Đối số đầu tiên nhỏ hơn đối số thứ hai theo thứ tự sắp xếp hiện tại.
1 Đối số đầu tiên lớn hơn đối số thứ hai theo thứ tự sắp xếp hiện tại

Cú pháp

Cú pháp như sau:

STRCMP(expr1,expr2)

Trong đó expr1 là chuỗi đầu tiên và expr2 là chuỗi thứ hai.

Ví dụ

Đây là một ví dụ cơ bản:

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

Kết quả:

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

Ví dụ này minh họa từng kết quả có thể xảy ra mà STRCMP() có thể sản xuất.

Đây là một ví dụ khác:

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

Kết quả:

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

Chuỗi trống so với Khoảng trắng

So sánh một chuỗi rỗng với một khoảng trắng dẫn đến 0 :

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

Kết quả:

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

Đối số rỗng

Chuyển null đối với bất kỳ đối số nào (hoặc tất cả các đối số) trả về null :

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

Kết quả:

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

Thiếu đối số

Đang gọi STRCMP() với số lượng đối số sai hoặc không chuyển bất kỳ đối số nào dẫn đến lỗi:

SELECT STRCMP();

Kết quả:

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. Cách HEX () hoạt động trong MariaDB

  2. Cách triển khai cơ sở dữ liệu Chamilo MariaDB để có tính khả dụng cao

  3. Trả lại hàng ngẫu nhiên từ một bảng trong MariaDB

  4. Câu chuyện chuyển đổi tại Hội nghị MariaDB OpenWorks

  5. Cách hoạt động của LEFT () trong MariaDB