Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ฟังก์ชัน MySQL STRCMP() คืออะไร และผลลัพธ์ของฟังก์ชันนี้จะเป็นอย่างไร


ฟังก์ชัน MySQL STRCMP() ตามชื่อที่แนะนำ ใช้เพื่อเปรียบเทียบสองสตริง เราจำเป็นต้องจัดเตรียมสตริงทั้งสองเป็นอาร์กิวเมนต์ของฟังก์ชันนี้ มันถูกแสดงในไวยากรณ์ด้านล่าง −

ไวยากรณ์

STRCMP(Str1, Str2)

ที่นี่

  • Str1 เป็นสตริงแรกที่ใช้สำหรับการเปรียบเทียบ
  • Str2 เป็นสตริงที่สองที่ใช้ในการเปรียบเทียบ

ตัวอย่าง

mysql> Select STRCMP('MySQL', 'MySQL');
+--------------------------+
| STRCMP('MySQL', 'MySQL') |
+--------------------------+
|                        0 |
+--------------------------+
1 row in set (0.00 sec)

mysql> Select STRCMP('MSQL', 'MySQL');
+-------------------------+
| STRCMP('MSQL', 'MySQL') |
+-------------------------+
|                      -1 |
+-------------------------+
1 row in set (0.00 sec)

mysql> Select STRCMP('MySQL', 'MSQL');
+-------------------------+
| STRCMP('MySQL', 'MSQL') |
+-------------------------+
|                       1 |
+-------------------------+
1 row in set (0.00 sec)

ในตัวอย่างข้างต้น เราจะเห็นการเปรียบเทียบระหว่างสองสตริงและ MySQL ส่งคืนผลลัพธ์ตามลำดับ

โดยพื้นฐานแล้ว ฟังก์ชัน STRCMP() สามารถให้ผลลัพธ์ได้สี่ประเภทหลังการเปรียบเทียบ -

  • ผลลัพธ์ 0: ฟังก์ชัน MySQL STRCMP() คืนค่า 0 หากทั้งสองสตริงเหมือนกัน
  • ผลลัพธ์ 1: ฟังก์ชัน MySQL STRCMP() คืนค่า 1 หากสตริงที่สองมีขนาดเล็กกว่าสตริงแรก
  • ผลลัพธ์ -1: ฟังก์ชัน MySQL STRCMP() จะคืนค่า -1 หากสตริงแรกมีขนาดเล็กกว่าสตริงที่สอง
  • ผลลัพธ์ NULL: ฟังก์ชัน MySQL STRCMP() จะคืนค่า NULL หากอาร์กิวเมนต์ข้อใดข้อหนึ่งหรือทั้งสองข้อของฟังก์ชัน STRCMP() เป็น NULL

ตัวอย่าง

mysql> Select STRCMP('Test', 'Test')As 'Equal Strings', STRCMP('TestABC', 'Test')AS '2nd Smaller', STRCMP('Test', 'TestABC')AS '1st Smaller', STRCMP('Test', NULL)As '2nd NULL',STRCMP(NULL, 'Test')AS '1st NULL',STRCMP(NULL,NULL)AS 'Both NULL';
+---------------+-------------+-------------+----------+----------+-----------+
| Equal Strings | 2nd Smaller | 1st Smaller | 2nd NULL | 1st NULL | Both NULL |
+---------------+-------------+-------------+----------+----------+-----------+
|       0       |      1      |      -1     |    NULL  |    NULL  |    NULL   |
+---------------+-------------+-------------+----------+----------+-----------+
1 row in set (0.00 sec)