부분 문자열 검색, 제대로 하는 법
SQLite가 패턴 연산자를 셋 줘.
LIKE 'pat%'— SQL 표준이야.%는 아무 문자열이고_는 문자 하나야. ASCII A–Z에 대해서는 기본이 대소문자 무시고, ICU를 안 올리면 Unicode는 대소문자를 가려.GLOB 'pat*'— Unix 스타일이야.*는 아무 문자열,?는 문자 하나,[abc]는 문자 묶음이지. 항상 대소문자를 가리고, 앞부분으로 찾을 때는 LIKE보다 빨라.REGEXP 'pat'— regex extension을 올린 빌드에서만 돼. 피파는sqlite3_extension_init으로 올려 쓰는데, macOS나 Linux 기본 CLI는 안 올려줘.
Tip: 진짜 텍스트 검색 — row 여러 개를 substring으로 훑고, 순위를 매기고, 언어별로 토큰을 자르는 일 —에는 이 셋 다 맞는 도구가 아니야. 답은 FTS5고 track 5에서 다뤄. LIKE는 작은 테이블에서
WHERE name LIKE 'al%' 정도까지는 괜찮지만, 규모가 커지면 무너져.