共用方式為


_ (通配符 - 比對一個字元) (Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceMicrosoft Fabric 中的 SQL 資料庫

使用底線字元 _ 比對字串比較作業中涉及模式比對的任何單一字元,例如 LIKEPATINDEX

Examples

本文中的程式代碼範例會使用 AdventureWorks2025AdventureWorksDW2025 範例資料庫,您可以從 Microsoft SQL Server 範例和社群專案 首頁下載。

A. 基本範例

以下範例傳回開頭為字母 m 且第三個字母具有 d 的所有資料庫名稱。 底線字元指定名稱的第二個字元可以是任何字母。 modelmsdb 資料庫符合此原則。 master 資料庫則不符合。

SELECT name FROM sys.databases
WHERE name LIKE 'm_d%';

結果集如下所示。

name
-----
model
msdb

您可能有符合此準則的其他資料庫。

您可以使用多個底線來代表多個字元。 將準則變更 LIKE 為包含兩個 'm__% 底線,會在 master 結果中包含資料庫。

B. 更複雜的範例

下列範例會 _ 使用 運算符來尋找數據表中的所有 Person 人員,其結尾為 三個字母的第一個名稱 an

SELECT FirstName, LastName
FROM Person.Person
WHERE FirstName LIKE '_an'
ORDER BY FirstName;

C. 逸出底線字元

下列範例會傳回 db_ownerdb_ddladmin等固定資料庫角色的名稱,但也會傳回 dbo 使用者。

SELECT name FROM sys.database_principals
WHERE name LIKE 'db_%';

第三個字元位置的底線會視為通配符,而且不會只篩選以字母 db_開頭的主體。 若要逸出底線,請將它括在方括弧中 [_]

SELECT name FROM sys.database_principals
WHERE name LIKE 'db[_]%';

現在已經排除 dbo 使用者。

結果集如下所示。

name
-------------
db_owner
db_accessadmin
db_securityadmin
...