Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
Az aláhúzásjel karakterrel _ egyezhet a sztringek összehasonlítási műveletének bármely olyan karakterével, amely mintaegyezést tartalmaz, például LIKE és PATINDEX.
Examples
A cikkben szereplő kódminták a AdventureWorks2025 vagy AdventureWorksDW2025 mintaadatbázist használják, amelyet a Microsoft SQL Server-minták és közösségi projektek kezdőlapjáról tölthet le.
A. Egyszerű példa
Az alábbi példa az összes olyan adatbázisnevet adja vissza, amely a betűvel m kezdődik, és a betű d a harmadik betű. Az aláhúzásjel azt határozza meg, hogy a név második karaktere bármilyen betű lehet. Az model és msdb az adatbázisok megfelelnek ennek a feltételnek. Az master adatbázis nem.
SELECT name FROM sys.databases
WHERE name LIKE 'm_d%';
Itt van az eredmények összessége.
name
-----
model
msdb
Előfordulhat, hogy további adatbázisokkal rendelkezik, amelyek megfelelnek ennek a feltételnek.
Több aláhúzásjel használatával több karaktert is jelölhet. Ha a LIKE feltételt két aláhúzásra módosítja 'm__% , az az adatbázist master is tartalmazza az eredményben.
B. Összetettebb példa
Az alábbi példa az operátort használja a _ tábla összes olyan személyének Person megkeresésére, akik hárombetűs utónévvel anrendelkeznek.
SELECT FirstName, LastName
FROM Person.Person
WHERE FirstName LIKE '_an'
ORDER BY FirstName;
C. Az aláhúzásjel feloldása
Az alábbi példa a rögzített adatbázis-szerepkörök( például db_owner és db_ddladmin) nevét adja vissza, de a dbo-felhasználót is visszaadja.
SELECT name FROM sys.database_principals
WHERE name LIKE 'db_%';
A harmadik karakterpozíció aláhúzása helyettesítő karakternek minősül, és nem csak a betűkkel db_kezdődő egyszerű karakterekre szűr. Az aláhúzás kivédéséhez szögletes zárójelbe [_]kell tenni.
SELECT name FROM sys.database_principals
WHERE name LIKE 'db[_]%';
Most a dbo felhasználó ki van zárva.
Itt van az eredmények összessége.
name
-------------
db_owner
db_accessadmin
db_securityadmin
...