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

SUBSTRING_INDEX() กับค่า count เป็นลบ

Count ลบ = นับจากขวาไปซ้าย

คืนส่วนของสตริง หลัง delimiter ครั้งที่ |count| จากขวา

ตัวอย่าง

mysql> SELECT SUBSTRING_INDEX('www.google.com', '.', -2);
+------------------------------------------+
| SUBSTRING_INDEX('www.google.com', '.', -2) |
+------------------------------------------+
| google.com                               |
+------------------------------------------+

mysql> SELECT SUBSTRING_INDEX('www.google.com', '.', -1);
+------------------------------------------+
| SUBSTRING_INDEX('www.google.com', '.', -1) |
+------------------------------------------+
| com                                      |
+------------------------------------------+

การอธิบาย

  • -1: ส่วนหลัง delimiter ตัวสุดท้าย (com)
  • -2: ส่วนหลัง delimiter ตัวที่ 2 จากขวา (google.com)
  • ใช้ได้ดีกับการแยก TLD, โดเมน, ซับโดเมน

ตารางสรุป

Countทิศทางผลลัพธ์จาก 'a.b.c.d'
1ซ้าย→ขวาa
2ซ้าย→ขวาa.b
-1ขวา→ซ้ายd
-2ขวา→ซ้ายc.d