Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Förhandsversion av Microsoft Fabric
Matchar ett enskilt tecken inom det angivna intervallet eller uppsättningen som anges mellan hakparenteser [ ]. Dessa jokertecken kan användas i strängjämförelser som omfattar mönstermatchning, till exempel LIKE och PATINDEX.
Examples
Kodexemplen i den här artikeln använder AdventureWorks2022- eller AdventureWorksDW2022-exempeldatabasen, som du kan ladda ned från startsidan Microsoft SQL Server Samples och Community Projects.
A. Basic example
I följande exempel returneras namn som börjar med bokstaven m.
[n-z] anger att den andra bokstaven måste finnas någonstans i intervallet från n till z. Med jokertecknet % procent tillåts alla eller inga tecken som börjar med det tredje tecknet. Databaserna model och msdb uppfyller det här villkoret. Databasen master uppfyller inte kriterierna och undantas från resultatuppsättningen.
SELECT name FROM sys.databases
WHERE name LIKE 'm[n-z]%';
Här är resultatet.
name
-----
model
msdb
Du kan ha fler kvalificerade databaser installerade.
B. Mer komplext exempel
I följande exempel används operatorn [] för att hitta ID:erna och namnen på alla Adventure Works-anställda som har adresser med ett fyrsiffrigt postnummer.
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]';
Här är resultatet.
EmployeeID FirstName LastName PostalCode
---------- --------- --------- ----------
290 Lynn Tsoflias 3000
C. Använd en uppsättning som kombinerar intervall och enkla tecken
En jokerteckenuppsättning kan innehålla både enstaka tecken och intervall. I följande exempel används operatorn [] för att hitta en sträng som börjar med ett tal eller en serie specialtecken.
SELECT [object_id], OBJECT_NAME(object_id) AS [object_name], name, column_id
FROM sys.columns
WHERE name LIKE '[0-9!@#$.,;_]%';
Här är resultatet.
object_id object_name name column_id
--------- ----------- ---- ---------
615673241 vSalesPersonSalesByFiscalYears 2002 5
615673241 vSalesPersonSalesByFiscalYears 2003 6
615673241 vSalesPersonSalesByFiscalYears 2004 7
1591676718 JunkTable _xyz 1