Q: How to perform case sensitive searches in SQL Server?
A: Method 1: Converting data to binary type before comparison .
SELECT 1 FROM dbo.Customers
WHERE CAST(CustID AS varbinary(8)) = CAST(@CustID AS varbinary(8))
AND CAST(CustPassword AS varbinary(15)) = CAST(@CustPassword AS varbinary(15))
Method 2: Using the COLLATE clause to dictate the case sensitiveness of the query.
IF EXISTS (SELECT 1 FROM dbo.Customers WHERE CustID = @CustID COLLATE SQL_Latin1_General_CP1_CS_AS AND CustPassword = @CustPassword COLLATE SQL_Latin1_General_CP1_CS_AS )
Method 3: Using BINARY_CHECKSUM function.
SELECT 1 FROM dbo.Customers
WHERE BINARY_CHECKSUM(CustID) = BINARY_CHECKSUM(@CustID) and BINARY_CHECKSUM(CustPassword) = BINARY_CHECKSUM(@CustPassword)
A: Method 1: Converting data to binary type before comparison .
SELECT 1 FROM dbo.Customers
WHERE CAST(CustID AS varbinary(8)) = CAST(@CustID AS varbinary(8))
AND CAST(CustPassword AS varbinary(15)) = CAST(@CustPassword AS varbinary(15))
Method 2: Using the COLLATE clause to dictate the case sensitiveness of the query.
IF EXISTS (SELECT 1 FROM dbo.Customers WHERE CustID = @CustID COLLATE SQL_Latin1_General_CP1_CS_AS AND CustPassword = @CustPassword COLLATE SQL_Latin1_General_CP1_CS_AS )
Method 3: Using BINARY_CHECKSUM function.
SELECT 1 FROM dbo.Customers
WHERE BINARY_CHECKSUM(CustID) = BINARY_CHECKSUM(@CustID) and BINARY_CHECKSUM(CustPassword) = BINARY_CHECKSUM(@CustPassword)
No comments:
Post a Comment