在 SQL Server WHERE 子句中實作區分大小寫的搜尋
SQL Server 在 WHERE 子句中進行字串比較的預設行為不區分大小寫。 當需要精確、區分大小寫的搜尋時,這會帶來挑戰。
利用排序規則來區分大小寫的比較
解決方案在於利用COLLATE
關鍵字。 此關鍵字可讓您指定比較所涉及的列的排序規則,從而定義字串匹配的規則,包括區分大小寫。
例如:
<code class="language-sql">SELECT 1 FROM dbo.Customers WHERE CustID COLLATE SQL_Latin1_General_CP1_CS_AS = @CustID AND OrderID COLLATE SQL_Latin1_General_CP1_CS_AS = @OrderID</code>
此處,COLLATE SQL_Latin1_General_CP1_CS_AS
對 CustID
和 OrderID
列強制執行區分大小寫的比較。
修改列屬性以實現永久區分大小寫
為了保持區分大小寫的行為一致,您可以直接在表定義中調整列屬性。 預設情況下,建立的列具有不區分大小寫的屬性。
將 COLLATE 與 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>
此查詢對以「MyEx」開頭的 PartnerName
值執行區分大小寫的搜尋。
以上是如何在 SQL Server WHERE 子句中執行區分大小寫的搜尋?的詳細內容。更多資訊請關注PHP中文網其他相關文章!