มี SQL Statements และ Functions หลายอย่างสำหรับ Query Database และ Retrieve หรือค้นหาข้อมูลที่มีประโยชน์ Function หนึ่งคือ CONTAINS() Function นี้ไม่ใช่ Standard SQL Function — ขึ้นอยู่กับ Database ที่ใช้ CONTAINS() ทำงานต่างกัน ในบทความนี้ เราพูดถึง CONTAINS() เกี่ยวกับ SQL Server และพูดถึงความต่างเมื่อใช้ Database อื่น
Basic Usage and Syntax: การใช้งานพื้นฐานและ Syntax
หัวใจของ CONTAINS() function คือรับ Substring 1 ตัว และ Search ว่าอยู่ใน String อีกตัวหรือไม่ สำหรับ Microsoft SQL Server CONTAINS() อนุญาต Full Text Pattern Match SQL Search Queries บน Table คืน Boolean Value บ่งชี้ว่า Function Truthy หรือ Falsy
SELECT <columnName> FROM <yourTable> WHERE CONTAINS (<columnName>, '<yourSubstring>');
ทุกที่ระหว่าง <> คือ Customized Naming ของคุณ Substring อยู่ระหว่าง Quotes Column Names คือ Variable Names ที่ตั้ง Column Names ตอน Create Table
CREATE TABLE MyTable ([name] varchar(26), [occupation] varchar(57)) ; INSERT INTO MyTable ([name], [occupation]) VALUES ('User 1', 'Web Developer'), ('User 2', 'Musician'), ('User 3', 'Doctor') ; SELECT name, occupation FROM myTable WHERE CONTAINS (name, 'User');
หาก Table ของคุณ Setup เป็น Full-text Indexed แล้ว คุณรัน Query ด้านบนได้ Search หา Pattern ของ Substring ใน Entirety — ไม่หา Misspellings หรือ Synonyms
หากไม่แน่ใจ Setup Database ให้ Full-text Indexed ยังไง เช็ค SQL LIKE Clause คล้าย CONTAINS แต่ง่ายกว่า Setup Out of the box
SELECT name, occupation FROM MyTable WHERE name LIKE 'User%';
เครื่องหมาย % หลัง String 'User' บ่งชี้ Anything After 'User' โค้ดนี้จะคืน:
| name | occupation |
| User 1 | Web Developer |
| User 2 | Musician |
| User 3 | Doctor |
Database อื่นใช้ CONTAINS Function แตกต่าง — ไม่ได้หมายความว่าเหมือนใน SQL Server ว่าจะเหมือนใน PostgreSQL
สำหรับข้อมูลเพิ่มเติม เช็ค Documentation ของ Database ของคุณ สำหรับ LIKE Clause อ่าน Blog Post ที่ James Gallagher เขียนบน Career Karma