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

ค้นหาตัวอักษร ^ ในชื่อคอลัมน์ MySQL ด้วย LIKE และ INFORMATION_SCHEMA

สามารถค้นหาชื่อคอลัมน์ที่มีตัวอักษรพิเศษ เช่น ^ ได้โดยใช้คำสั่ง 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