SQL сұрауларында үлгі сәйкестігі

Дәл емес салыстыру үшін глоккаттарды пайдалану

SQL үлгісін сәйкестендіру сіз іздеген нақты сөзді немесе фразаны білмесеңіз, деректердегі үлгілерді іздеуге мүмкіндік береді. SQL сұрауының бұл түрі таңбаны дәл сәйкестендіруге емес, үлгіні сәйкестендіру үшін қойылмалы таңбаларды пайдаланады. Мысалы, C кодынан басталатын кез келген жолды сәйкестендіру үшін «C%» қойылмалы таңбасын қолдануға болады.

LIKE операторын пайдалану

SQL сұрауында қойылмалы таңбаны пайдалану үшін, LIKE операторын WHERE сөйлемінде пайдаланыңыз және жалғыз тырнақшадағы үлгіні тіркеңіз.

Қарапайым іздеуді орындау үшін% Дұрыс таңбаны пайдалану

Дерекқорыңыздағы кез келген қызметкерді C әрпінен басталатын тегі арқылы іздеу үшін келесі Transact-SQL операторын пайдаланыңыз:

ТАҢДАУ * ҚЫЗМЕТКЕРЛЕРДІҢ қай жерде? Last_name LIKE 'C%'

ЕСКЕРТПЕ Кілт сөзді пайдаланып, үлгілерді елемеу

Үлгіге сәйкес келмейтін жазбаларды таңдау үшін NOT кілт сөзін пайдаланыңыз. Мысалы, бұл сұрау соңғы аты C басталмаған барлық жазбаларды қайтарады:

ҚЫЗМЕТКЕРЛЕРДЕН ТАҢДАУ * WHERE last_name NOT 'C%'

Кез-келген жерде үлгіні сәйкестендіру% Wildcard Twice

Кез келген жерде белгілі бір үлгіні сәйкестендіру үшін % wildcard екі данасын пайдаланыңыз. Бұл мысал C тегі бар кез келген жазбаны тегі бойынша қайтарады:

Қызметкерлерден SELECT * WHERE last_name LIKE '% C%'

Арнайы жағдайдағы үлгіні сәйкестендіруді табу

Белгілі бір жерде деректерді қайтару үшін _ таңбалы таңбаны пайдаланыңыз. Бұл мысал C тегі бағанының үшінші орнында орын алғанда ғана сәйкес келеді:

ТАҢДАУ * ҚЫЗМЕТКЕРЛЕРДІҢ қай жерде? Last_name LIKE '_ _C%'

Transact SQL бағдарламасындағы қолдайтын глокарды өрнектер

Transact SQL қолдайтын бірнеше қойылмалы белгілер бар:

Графикалық белгілерді кешенді үлгілерге біріктіру

Қосымша қойылған сұрауларды орындау үшін осы қойылмалы таңбаларды күрделі үлгілерге біріктіріңіз. Мысалы, әліпбидің бірінші жартысы бойынша хатпен басталатын, бірақ дауысты сөзбен аяқталмаған есіміңіз бар барлық қызметкерлеріңіздің тізімін жасау керек деп ойлайсыз. Келесі сұрауды пайдалана аласыз:

ҚЫЗМЕТКЕРЛЕРДІҢ ТАҢДАУЫ WHERE last_name LIKE '[am]% [^ aeiou]'

Сол сияқты, сіз барлық үлгідегі төрт атауды пайдалана отырып, дәл төрт таңбаны қамтитын барлық қызметкерлердің тізімін жасай аласыз:

ҚЫЗМЕТКЕРЛЕРДІҢ ТАҢДАУЫ WHERE last_name LIKE '____'

Айтуға болады, SQL үлгісін сәйкестендіру мүмкіндігін пайдалану дерекқор пайдаланушыларына қарапайым мәтіндік сұраулардан асып, кеңейтілген іздеу әрекеттерін орындауға мүмкіндік береді.