SQL Server’s CONTAINS
function enables advanced full-text searching within text columns, providing a powerful alternative to traditional search methods. This guide briefly introduces its usage and showcases practical examples.
Single Term Search
SELECT Id, Name, Description
FROM Product
WHERE ListPrice > 20 AND CONTAINS(Description, 'powerful');
Retrieves products with "powerful" in the description and a price above 20.
Phrase Search
SELECT Id, Name, Description
FROM Product
WHERE CONTAINS(Description, '"with high-"');
Finds products containing the phrase "with high-".
Word Prefix Search
SELECT Id, Name, Description
FROM Product
WHERE CONTAINS(Description, '"W*"');
Fetches products where any word in the description starts with "W".
Proximity Search
SELECT Id, Name, Description
FROM Product
WHERE CONTAINS(Description, 'NEAR((headphones, technology), 5)');
Locates products with "headphones" near "technology" within five words.
FAQ Section
LIKE vs. CONTAINS in SQL Server?
LIKE
is for basic pattern matching, whereas CONTAINS
is for advanced full-text searches, needing a full-text index.
Can CONTAINS search multiple columns?
Yes, by listing them in the search condition, separated by commas.
Is a full-text index necessary for CONTAINS?
Yes, CONTAINS
only works on columns with a full-text index.
How to find if a string contains a substring in SQL?
Use CHARINDEX
to search for substrings within a column.
Conclusion
SQL Server’s CONTAINS
function provides sophisticated full-text search capabilities, allowing precise data querying. Explore more detailed examples here SQL CONTAINS Function: SQL Server Guide With Examples.