สามารถค้นหาชื่อคอลัมน์ที่มีตัวอักษรพิเศษ เช่น ^ ได้โดยใช้คำสั่ง LIKE ร่วมกับตารางระบบ INFORMATION_SCHEMA.COLUMNS
Syntax
SELECT table_schema, table_name, column_name FROM information_schema.columns WHERE column_name LIKE '%^%';
%- ตัวแทนอักขระใดๆ 0 ตัวขึ้นไป^- ตัวอักษรที่ต้องการค้นหา (ไม่ต้อง Escape ใน LIKE)
ตัวอย่างการใช้งาน
1. สร้างตารางที่มีคอลัมน์ chứa ^
mysql> create table DemoTable1826 ( `^` varchar(20), Name varchar(20), `^Age` int ); Query OK, 0 rows affected (0.00 sec)
2. ค้นหาคอลัมน์ที่มี ^
mysql> select table_schema, table_name, column_name
-> from information_schema.columns
-> where column_name like '%^%';
ผลลัพธ์:
+--------------+---------------+-------------+ | TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME | +--------------+---------------+-------------+ | web | demotable1826 | ^ | | web | demotable1826 | ^Age | +--------------+---------------+-------------+ 2 rows in set (0.00 sec)
ค้นหาตัวอักษรพิเศษอื่นๆ
| ตัวอักษร | Pattern LIKE | หมายเหตุ |
|---|---|---|
| % | LIKE '%\%%' ESCAPE '\' | ต้อง Escape ด้วย \ |
| _ | LIKE '%\_%' ESCAPE '\' | ต้อง Escape ด้วย \ |
| \ | LIKE '%\\%' ESCAPE '\' | ต้อง Escape ด้วย \ |
| [ | LIKE '%[%]%' | ใช้ [] ครอบ |
| ] | LIKE '%[%]%' | ใช้ [] ครอบ |
| ^ | LIKE '%^%' | ไม่ต้อง Escape |
ค้นหาในข้อมูล (Data) แทนชื่อคอลัมน์
-- ค้นหาแถวที่คอลัมน์ Name มี ^ SELECT * FROM DemoTable1826 WHERE `Name` LIKE '%^%';
สรุป: ใช้ INFORMATION_SCHEMA.COLUMNS ร่วมกับ LIKE '%^%' เพื่อค้นหาคอลัมน์ที่มีตัวอักษร ^ สำหรับตัวอักษรพิเศษอื่นใน LIKE ต้องใช้ ESCAPE หรือ [] ตามหลักการของ LIKE pattern