Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в Microsoft Fabric
Используйте символ _ подчеркивания для сопоставления любого одного символа в операции сравнения строк, которая включает сопоставление шаблонов, например LIKE и PATINDEX.
Examples
Примеры кода в этой статье используют базу данных образца AdventureWorks2025 или AdventureWorksDW2025, которую можно скачать с домашней страницы образцов и проектов сообщества Microsoft SQL Server и.
A. Базовый пример
В следующем примере возвращаются все имена баз данных, которые начинаются с буквы m и имеют третью букву d. Символ подчеркивания указывает, что вторым символом в имени может быть любая буква. Этому условию удовлетворяют базы данных model и msdb. А база данных 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_owner и db_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
...