Generally, SQL Server databases are case-insensitive by default when querying data. However, if we have special needs and want to be case-sensitive when querying data, we can use COLLATE to achieve this requirement and test the data:
--Test Data if not object_id(N'Tempdb..#T1') is null drop table #T1 Go Create table #T1(name VARCHAR(50)) Insert #T1 select N'Abcd' union all select N'abcd' GO -- end of test data
Case-insensitive writing:
SELECT * FROM #T1 WHERE name LIKE 'A%' COLLATE Chinese_PRC_CI_AS; -- case insensitive
result:
Case-sensitive writing:
SELECT * FROM #T1 WHERE name LIKE 'A%' COLLATE Chinese_PRC_CS_AS; -- case sensitive
result:
We have implemented a case-sensitive query method above, which can be processed according to actual needs in the future.