sql - 如何在 WHERE 子句中进行区分大小写的搜索(我使用的是 SQL Server)?

标签 sql sql-server

我想在 SQL 查询中进行区分大小写的搜索。但默认情况下,SQL Server 不考虑字符串的大小写。

知道如何在 SQL 查询中进行区分大小写的搜索吗?

最佳答案

可以通过 changing the Collation 完成。默认情况下不区分大小写。

摘自链接:

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

或者,change the columns to be case sensitive .

您还可以将 COLLATE 应用于 LIKE 以使其区分大小写 - 例如,

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

关于sql - 如何在 WHERE 子句中进行区分大小写的搜索(我使用的是 SQL Server)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1831105/

相关文章:

PHP——自动 SQL 注入(inject)保护?

mysql - sql/mysql新手无法找出外键

sql - 同一个表在另一个表中的多列

sql-server - 多客户端数据库设计 : is separation by schema a good design?

sql - 如何将两个值(行)组合成具有自定义值的单行?

sql - 具有唯一聚集索引的表和索引 View 以相同的方式存储。那么索引 View 有什么好处呢?

mysql SELECT IF 语句与 OR

MySQL 错误 1215,我做错了什么?

sql - 如何将特定查询返回的所有数据存储在 SQL Server 2005/2008 中的单个字符串中的表中

sql-server - OLE DB 命令 DT_NTEXT 输出类型和 XML 输入