Дәл емес салыстыру үшін глоккаттарды пайдалану
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 қолдайтын бірнеше қойылмалы белгілер бар:
- % Қойылмалы таңба кез келген түрдің нөл немесе одан көп таңбаларына сәйкес келеді және үлгіге дейінгі және кейінгі қойылмалы таңбаларды анықтау үшін пайдаланылуы мүмкін. DOS үлгісін сәйкестендіруді жақсы білсеңіз, бұл синтаксисдегі * қойылмалы таңбаның баламасы.
- _ Қойылмалы таңба кез келген түрдегі бір таңбаға сәйкес келеді. Бұл баламалы ? DOS үлгілерін салыстырудағы қойылмалы таңба.
- Таңбалардың тізімін төртбұрышты жақшаларға қосып көрсетіңіз. Мысалы, қойылмалы таңба [aeuou] кез келген үндіге сәйкес келеді.
- Ауқымды шаршы жақшалармен қоршап, таңбалардың ауқымын көрсетіңіз. Мысалы, қойылмалы таңба алфавиттің бірінші жартысында кез келген әріппен сәйкес келеді.
- Караттың таңбасын тік квадрат кронштейннің ішіне кіргізу арқылы кейіпкерлердің санына кері келу. Мысалы, [^ aeiou] кез келген дыбыссыз емес таңбаға сәйкес келеді, ал [^ am] әліпбидің бірінші жартысында болмайтын кез келген таңбалармен сәйкес келеді.
Графикалық белгілерді кешенді үлгілерге біріктіру
Қосымша қойылған сұрауларды орындау үшін осы қойылмалы таңбаларды күрделі үлгілерге біріктіріңіз. Мысалы, әліпбидің бірінші жартысы бойынша хатпен басталатын, бірақ дауысты сөзбен аяқталмаған есіміңіз бар барлық қызметкерлеріңіздің тізімін жасау керек деп ойлайсыз. Келесі сұрауды пайдалана аласыз:
ҚЫЗМЕТКЕРЛЕРДІҢ ТАҢДАУЫ WHERE last_name LIKE '[am]% [^ aeiou]'Сол сияқты, сіз барлық үлгідегі төрт атауды пайдалана отырып, дәл төрт таңбаны қамтитын барлық қызметкерлердің тізімін жасай аласыз:
ҚЫЗМЕТКЕРЛЕРДІҢ ТАҢДАУЫ WHERE last_name LIKE '____'Айтуға болады, SQL үлгісін сәйкестендіру мүмкіндігін пайдалану дерекқор пайдаланушыларына қарапайым мәтіндік сұраулардан асып, кеңейтілген іздеу әрекеттерін орындауға мүмкіндік береді.