在 SQL Server WHERE 子句搜索中实现区分大小写
标准 SQL Server WHERE
子句搜索本质上不区分大小写; “John”和“john”被认为是相同的。 然而,情况需要区分大小写的比较。 以下是在 SQL 查询中强制区分大小写的几种方法:
利用整理:
排序规则规定了字符比较规则。 指定区分大小写的排序规则可确保数据库区分大写和小写字符。 说明性示例:
<code class="language-sql">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</code>
定义区分大小写的列:
或者,修改列定义以固有地支持区分大小写。这涉及更改列的排序规则设置。示例:
<code class="language-sql">ALTER TABLE dbo.Customers ALTER COLUMN CustID NVARCHAR(50) COLLATE SQL_Latin1_General_CP1_CS_AS</code>
在 LIKE 中应用排序规则:
COLLATE
关键字还可以与 LIKE
运算符一起使用,以进行区分大小写的模式匹配。示例:
<code class="language-sql">SELECT * FROM tbl_Partners WHERE PartnerName COLLATE SQL_Latin1_General_CP1_CS_AS LIKE 'MyEx%' COLLATE SQL_Latin1_General_CP1_CS_AS</code>
这些方法在处理 SQL Server WHERE
子句中区分大小写的搜索方面提供了灵活性,适应各种查询需求。
以上是如何在 SQL Server WHERE 子句中执行区分大小写的搜索?的详细内容。更多信息请关注PHP中文网其他相关文章!