คือว่าพอดีในข้อมูลของตารางๆ ตารางหนึ่งเก็บข้อมูลที่มี '[' ดังนั้นเลยหาวิธีการค้นหาข้อมูลที่ประกอบด้วย '[' ขึ้นมาให้ได้
โดยปกติผมก็มักจะใช้ LIKE function ในการค้นหาคำที่มีอยู่ในฟิลด์นั้น แต่ว่าถ้าค้นหาสัญลักษณ์พิเศษบางอย่างจะไม่สามารถค้นหาได้เช่น '[' ก็เลยไปค้นพบสองแบบ
แบบแรกง่ายที่สุดคือเปลี่ยนจากการใช้ LIKE ไปใช้ CHARINDEX แทน ซึ่งฟังก์ชั่นการทำงานของ CHARINDEX ก็จะคล้ายๆ กับ LIKE คับ มาลองตัวอย่างดูกันนะครับ
CREATE TABLE Table1
(
Col1 INT IDENTITY,
Col2 VARCHAR(100)
)
INSERT INTO Table1(Col2)
SELECT 'Data 1'
UNION ALL
SELECT 'Data [2]'
UNION ALL
SELECT 'Data [3]'
SELECT *
FROM Table1
SELECT *
FROM Table1
WHERE Col2 LIKE '%\[%' ESCAPE '\'
SELECT *
FROM Table1
WHERE CHARINDEX('[', Col2) > 0
DROP TABLE Table1