Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к:SQL Server
База данных Azure SQL
Управляемый экземпляр Azure SQL
Azure Synapse Analytics
Система платформы аналитики (PDW)
Конечная точка SQL аналитики в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в Microsoft Fabric
Соответствуют какому-либо одиночному символу в пределах указанного диапазона или набора, заданного в квадратных скобках [ ]. Эти символы-шаблоны могут использоваться в тех операциях сравнения строк, которые задействуют соответствие шаблону, например LIKE или PATINDEX.
Examples
Примеры кода в этой статье используют базу данных образца AdventureWorks2025 или AdventureWorksDW2025, которую можно скачать с домашней страницы образцов и проектов сообщества Microsoft SQL Server и.
A. Базовый пример
В следующем примере возвращаются имена, начинающиеся с буквы m.
[n-z] указывает, что вторая буква должна находиться в диапазоне от n до z. Подстановочный знак % процента разрешает любой или нет символов, начиная с третьего символа. Этому условию удовлетворяют базы данных model и msdb. База данных master не соответствует условию и исключается из результирующего набора.
SELECT name FROM sys.databases
WHERE name LIKE 'm[n-z]%';
Вот результирующий набор.
name
-----
model
msdb
Возможно, у вас есть более подходящие базы данных.
B. Более сложный пример
В следующем примере оператор [] используется для поиска идентификаторов и имен всех сотрудников Adventure Works, имеющих адреса с четырехзначным почтовым индексом.
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]';
Вот результирующий набор.
EmployeeID FirstName LastName PostalCode
---------- --------- --------- ----------
290 Lynn Tsoflias 3000
C. Используйте набор, объединяющий диапазоны и отдельные символы
Набор подстановочных знаков может содержать как отдельные символы, так и диапазоны. В следующем примере оператор [] используется для поиска строки, которая начинается с цифры или набора специальных символов.
SELECT [object_id], OBJECT_NAME(object_id) AS [object_name], name, column_id
FROM sys.columns
WHERE name LIKE '[0-9!@#$.,;_]%';
Вот результирующий набор.
object_id object_name name column_id
--------- ----------- ---- ---------
615673241 vSalesPersonSalesByFiscalYears 2002 5
615673241 vSalesPersonSalesByFiscalYears 2003 6
615673241 vSalesPersonSalesByFiscalYears 2004 7
1591676718 JunkTable _xyz 1