ตัวอย่างการลบข้อความที่อยู่ภายในวงเล็บเหลี่ยม [ ] ออกจากคอลัมน์ข้อความ
mysql> CREATE TABLE DemoTable (
-> Name TEXT
-> );
Query OK, 0 rows affected (0.47 sec)
mysql> INSERT INTO DemoTable VALUES('John [John] Smith');
Query OK, 1 row affected (0.30 sec)
mysql> INSERT INTO DemoTable VALUES('[Carol] Carol Taylor');
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable VALUES('David [Miller] Miller');
Query OK, 1 row affected (0.14 sec)
mysql> SELECT * FROM DemoTable;
+-----------------------+ | Name | +-----------------------+ | John [John] Smith | | [Carol] Carol Taylor | | David [Miller] Miller | +-----------------------+ 3 rows in set (0.00 sec)
คิวรี่ลบข้อความระหว่าง [ ] โดยใช้ REPLACE, SUBSTRING, LOCATE, LENGTH, REVERSE:
mysql> SELECT REPLACE(
-> Name,
-> SUBSTRING(
-> Name,
-> LOCATE('[', Name),
-> LENGTH(Name) - LOCATE(']', REVERSE(Name)) - LOCATE('[', Name) + 2
-> ),
-> ''
-> ) AS Name
-> FROM DemoTable;
ผลลัพธ์:
+---------------+ | Name | +---------------+ | John Smith | | Carol Taylor | | David Miller | +---------------+ 3 rows in set (0.03 sec)
หมายเหตุ: สูตรคำนวณตำแหน่งและความยาวของข้อความในวงเล็บซับซ้อน หากเป็นไปได้ ควรทำความสะอาดข้อมูลระหว่างนำเข้า (ETL) หรือใช้ภาษาโปรแกรมมิ่งช่วยแทน