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