LIKE और ILIKE
LIKE text को patterns के against match करता है, और ILIKE case ignore करते हुए वही करता है।
In this page:
Syntax
WHERE column LIKE 'pattern%'
WHERE column ILIKE '%pattern%' -- case-insensitive
LIKE/ILIKE
Patterns में % किसी भी संख्या में characters match करता है और _ exactly एक match करता है। PostgreSQL में LIKE case-sensitive है, ILIKE case-insensitive है, और ~ और ~* regular expressions match करते हैं।
'%abc' जैसे leading wildcards एक normal B-tree index इस्तेमाल नहीं कर सकते, हालाँकि pg_trgm indexes मदद कर सकते हैं। SQLite का LIKE case-insensitive है और इसमें ILIKE नहीं, इसलिए यह psql में दिखाया गया है।
Note:
fast substring search के लिए, एक pg_trgm GIN index इस्तेमाल करें।
उदाहरण: LIKE/ILIKE
shop=# SELECT name FROM users WHERE name LIKE 'A%';
name
------
Ada
shop=# SELECT name FROM users WHERE name ILIKE 'a%';
name
------
Ada
alan
shop=# SELECT name FROM users WHERE name LIKE '_o_';
name
------
Bob
shop=# SELECT name FROM users WHERE name ~* '^(ada|bob)$';
⚠️ Run this in your own terminal or Node.js environment.
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the
view already swaps in the hi_ translation fields (or blanks these
out if untranslated), so this renders correctly for both languages
without a lang_code check here. #}
आम गलतियां
- यह उम्मीद करना कि PostgreSQL में LIKE case-insensitive होगा
- regular expressions के लिए LIKE इस्तेमाल करना
- बड़ी tables पर leading wildcards
चैप्टर सारांश
- % कोई भी characters, _ एक character
- LIKE case-sensitive है
- ILIKE case ignore करता है
- ~ regular expressions match करता है
🔒
Chapter Quiz — Complete all 7 topics to unlock
0/7 topics done
Complete these topics first: