Inbyggd mönstermatchning är ett mångsidigt verktyg för att göra strängjämförelser. I följande tabell visas jokertecken som du kan använda med operatorn Som och antalet siffror eller strängar som de matchar.
Tecken i mönster |
Matchningar i uttryck |
? eller _ (understreck) |
Ett enstaka tecken |
* eller % |
Noll eller fler tecken |
# |
Valfri ensiffrig (0–9) |
[charlist] |
Ett enstaka tecken i charlist |
[! charlist] |
Ett enskilt tecken som inte finns i charlist |
Du kan använda en grupp med ett eller flera tecken (charlist) inom hakparenteser ([ ]) för att matcha ett enskilt tecken i uttrycket, och teckenlistan kan innehålla nästan alla tecken i ANSI-teckenuppsättning, inklusive siffror. Du kan använda specialtecknen för inledande hakparentes ([ ), frågetecken (?), nummertecken (#) och asterisk (*) för att matcha sig själva direkt om de omges av hakparenteser. Du kan inte använda den avslutande hakparentesen ( ]) inom en grupp för att matcha sig själv, men du kan använda den utanför en grupp som ett enskilt tecken.
Förutom en enkel lista med tecken inom hakparenteser kan teckenintervallet anges med hjälp av ett bindestreck (-) för att avgränsa intervallets övre och nedre gränser. Om du till exempel använder [A-Z] i mönster blir det en matchning om motsvarande teckenposition i uttrycket innehåller någon av de versala bokstäverna i området A till Ö. Du kan ta med flera områden inom hakparenteserna utan att avgränsa områdena. [a-zA-Z0-9] matchar till exempel valfritt alfanumeriskt tecken.
Det är viktigt att observera att ANSI SQL-jokertecken (%) och (_) endast är tillgängliga med Microsoft Access-databasmotorn och Access OLE DB-providern. De behandlas som literaler om de används via Access eller DAO.
Andra viktiga regler för mönstermatchning är följande:
-
Ett utropstecken (!) i början av charlist innebär att en matchning görs om något tecken utom de i teckenlistan hittas i uttrycket. När utropstecknet används utanför hakparenteser matchar det sig självt.
-
Du kan använda bindestrecket (-) antingen i början (efter ett utropstecken om det används) eller i slutet av teckenlistan för att matcha sig själv. På någon annan plats identifierar bindestrecket ett intervall med ANSI-tecken.
-
När du anger ett teckenintervall måste tecknen visas i stigande sorteringsordning (A-Z eller 0-100). [A-Z] är ett giltigt mönster, men [Z-A] är det inte.
-
Teckensekvensen [ ] ignoreras. det anses vara en nollängdssträng ("").