How to do a case sensitive search in WHERE clause (I'm using SQL Server)?

sql, sql-server

Solution

Can be done via changing the Collation. By default it is case insensitive.

Excerpt from the link:

SELECT 1
FROM dbo.Customers
WHERE   CustID = @CustID COLLATE SQL_Latin1_General_CP1_CS_AS
AND     OrderID = @OrderID COLLATE SQL_Latin1_General_CP1_CS_AS

Or, change the columns to be case sensitive.

You can also apply COLLATE to LIKE to make it case sensitive - e.g.,

SELECT    *
FROM     tbl_Partners
WHERE    PartnerName COLLATE SQL_Latin1_General_CP1_CS_AS LIKE 'MyEx%' COLLATE SQL_Latin1_General_CP1_CS_AS

Problem

I want to do a case sensitive search in my SQL query. But by default, SQL Server does not consider the case of the strings. Any idea on how to do a case sensitive search in SQL query?

Original source

Related problems