首頁 >資料庫 >mysql教程 >如何在 SQL Server WHERE 子句中執行區分大小寫的搜尋?

如何在 SQL Server WHERE 子句中執行區分大小寫的搜尋?

Susan Sarandon
Susan Sarandon原創
2025-01-14 09:05:42985瀏覽

How to Perform Case-Sensitive Searches in SQL Server WHERE Clauses?

在 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_ASCustIDOrderID 列強制執行區分大小寫的比較。

修改列屬性以實現永久區分大小寫

為了保持區分大小寫的行為一致,您可以直接在表定義中調整列屬性。 預設情況下,建立的列具有不區分大小寫的屬性。

將 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn