Bagikan melalui


[ ] (Wildcard - Karakter yang Cocok) (Transact-SQL)

Berlaku untuk: Titik akhir analitik SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL di Microsoft Fabric Warehouse di Microsoft Fabric

Cocok dengan karakter tunggal apa pun dalam rentang atau set yang ditentukan yang ditentukan di antara tanda kurung [ ]. Karakter kartubebas ini dapat digunakan dalam perbandingan string yang melibatkan pencocokan pola, seperti LIKE dan PATINDEX.

Contoh

A: Contoh sederhana

Contoh berikut mengembalikan nama yang dimulai dengan huruf m. [n-z] menentukan bahwa huruf kedua harus berada di suatu tempat dalam rentang dari n ke z. Kartubebas % persen memungkinkan satu atau tidak ada karakter yang dimulai dengan 3 karakter. Database model dan msdb memenuhi kriteria ini. Database master tidak memenuhi kriteria dan dikecualikan dari kumpulan hasil.

SELECT name FROM sys.databases
WHERE name LIKE 'm[n-z]%';

Berikut set hasilnya.

name
-----
model
msdb

Anda mungkin memiliki database tambahan yang memenuhi syarat yang terinstal.

B: Contoh yang lebih kompleks

Contoh berikut menggunakan operator [] untuk menemukan ID dan nama semua karyawan Adventure Works yang memiliki alamat dengan kode pos empat digit.

-- Uses AdventureWorks  
  
SELECT e.BusinessEntityID, p.FirstName, p.LastName, a.PostalCode  
FROM HumanResources.Employee AS e  
INNER JOIN Person.Person AS p ON e.BusinessEntityID = p.BusinessEntityID  
INNER JOIN Person.BusinessEntityAddress AS ea ON e.BusinessEntityID = ea.BusinessEntityID  
INNER JOIN Person.Address AS a ON a.AddressID = ea.AddressID  
WHERE a.PostalCode LIKE '[0-9][0-9][0-9][0-9]';  

Berikut set hasilnya.

EmployeeID      FirstName      LastName      PostalCode  
----------      ---------      ---------     ----------  
290             Lynn           Tsoflias      3000  

C: Menggunakan set yang menggabungkan rentang dan karakter tunggal

Set kartubebas dapat mencakup karakter tunggal dan rentang. Contoh berikut menggunakan operator [] untuk menemukan string yang dimulai dengan angka atau serangkaian karakter khusus.

SELECT [object_id], OBJECT_NAME(object_id) AS [object_name], name, column_id 
FROM sys.columns 
WHERE name LIKE '[0-9!@#$.,;_]%';

Berikut set hasilnya.

object_id     object_name	                      name	column_id
---------     -----------                         ----  ---------
615673241     vSalesPersonSalesByFiscalYears	  2002	5
615673241     vSalesPersonSalesByFiscalYears	  2003	6
615673241     vSalesPersonSalesByFiscalYears	  2004	7
1591676718    JunkTable                           _xyz  1

Lihat Juga

LIKE (Transact-SQL)
PATINDEX (Transact-SQL)
% (Wildcard - Karakter yang Cocok) (Transact-SQL)
[^] (Wildcard - Karakter Tidak Cocok) (T-SQL)
_ (Wildcard - Cocok dengan Satu Karakter) (Transact-SQL)