Pattern Matching in SQL Queries

It brûken fan Wildcards foar Inexact Matching

SQL-strukturearring kin jo sykje foar patroanen yn gegevens, as jo de krekte wurd en tiid net witte wat jo sykje. Dizze soarte fan SQL-query brûkt spesjale karakteren om in patroon te passen, ynstee dêrfan krekt te spesifisearjen. Jo kinne bygelyks de wildcard "C%" brûke om alle strings te begjinnen mei in haadletter.

Mei de LIKE-operator

Om in wildcard ekspresje yn in SQL-fraach te brûken, brûk de LIKE-operator yn in WHERE-klausel en bepaalt it patroan yn ienige quotaasjemarken.

It brûken fan '% Wildcard' foar in ienfâldige sykfunksje

Om te sykjen foar elke wurknimmer yn jo database mei in foarnamme dy't begjint mei de letter C, brûke de folgjende Transact-SQL-statement:

WINKEL * FROM meiwurkers WHERE last_name LIKE 'C%'

Omdraaiend patroanen brûk de NOT-kaaiwurd

Brûk de keyword NOT foar it selektearjen fan akten dy't net oerienkomme mei it patroan. Bygelyks, dizze query jout alle akten werom, wêrfan de namme lêst net begjint mei C:

SELEKTE * FROM meiwurkers WHERE lastnameName LIKE 'C%'

Meitsje in Pattern Anywhere brûk de% Wildcard twa

Brûk twa eksimplaren fan 'e % wildcard om ien bestimmje patroan oeral te pleatsen. Dit foarbyld jout alle akten wêrnei in C C befetsje yn 'e lêste namme:

WINKEL * FROM meiwurkers WHERE last_name LIKE '% C%'

Sykje in patroanen by in bepaalde posysje

Brûk de _ wildcard om gegevens werom te jaan ta in spesifike lokaasje. Dit foarbyld komt allinich as C komt op 'e tredde posysje fan de lêste kolom:

SELEKTE * FROM meiwurkers WHERE last_name LIKE '_ _C%'

Stipe Wildcard Expressions yn Transact SQL

Der binne ferskate wildcard ekspresjes stipe troch Transact SQL:

Kombinearre Wildcards foar komplekse patroanen

Kombinearje dizze wildcards yn komplekse patroanen om mear eksperiminte queries út te fieren. Soargje bygelyks dat jo in list fan alle jo wurknimmers oanbiede moatte dy't nammen hawwe dy't begjinne mei in brief fan 'e earste helte fan it alfabet, mar net einigje mei in lûd. Jo kinne de folgjende fraach brûke:

WINKEL * FROM meiwurkers WHERE last_name LIKE '[am]% [^ aeiou]'

Hjirby kinne jo in list fan alle meiwurkers opliede mei lêste nammen, besteande út fjouwer karakters mei it brûken fan fjouwer eksemplaren fan it _- pattern:

SELEKTE * FROM meiwurkers WHERE last_name LIKE '____'

As jo ​​sizze kinne, biedt it gebrûk fan skaaimerk-oanpassingsfunksjes fan database-brûkers de mooglikheid om jin foar ienfâldige tekstfraach te gean en fereare opsjes op te sykjen.