在 SQL Server 的 WHERE 子句中实现区分大小写的搜索
标准 SQL Server 查询在比较字符串时本质上不区分大小写。 要执行区分大小写的搜索,可以使用多种技术。
方法一:调整排序规则
底层排序规则设置决定了字符串比较的大小写敏感性。通过将排序规则更改为区分大小写的选项,您可以在查询中强制执行区分大小写的行为。 示例:
<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>
方法二:修改列属性
或者,您可以修改参与搜索的列的属性,使其区分大小写。 这是架构级别的更改,影响使用这些列的所有查询。
方法 3:结合使用 LIKE 和排序规则
LIKE
运算符还可以与COLLATE
组合实现区分大小写的匹配:
<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 子句中执行区分大小写的搜索?的详细内容。更多信息请关注PHP中文网其他相关文章!