ฟังก์ชัน 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)