Search code examples
sqlsql-server

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


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?


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