Jezik SQL podpira številne uporabne operaterje, specifične za delo z besedilnimi podatki, kot so na primer primerjava nizov in ujemanje vzorcev z nadomestnimi znaki. Tabela prikazuje nekaj najpogostejših operaterjev za besedilne podatke:
Operator | Pogoj | Primer |
---|---|---|
= | enakost nizov, loči med velikimi in malimi črkami | ime_stolpca = 'abc' |
!= ali <> | neenakost nizov, loči med velikimi in malimi črkami | ime_stolpca != 'abcd' |
LIKE |
enakost nizov, ne loči med velikimi in malimi črkami | ime_stolpca LIKE 'ABC' |
NOT LIKE |
neenakost nizov, ne loči med velikimi in malimi črkami | ime_stolpca NOT LIKE 'ABCD' |
% | kjerkoli v nizu za ujemanje z zaporedjem nič ali več znakov (samo z LIKE ali NOT LIKE ) |
ime_stolpca LIKE '%ot%'(se ujema z nizi 'otok', 'pot', 'potok' idr.) |
_ (podčrtaj) | kjerkoli v nizu za ujemanje z natanko enim znakom (samo z LIKE ali NOT LIKE ) |
ime_stolpca LIKE "po_"(se ujema z nizi 'pot', 'pok' in 'pol'; ne pa s 'po' ali 'polje') |
IN (...) |
besedilo je na seznamu vrednosti | ime_stolpca IN ('A', 'B', 'C') |
NOT IN (...) |
besedila ni na seznamu vrednosti | ime_stolpca NOT IN ('D', 'E') |
Čeprav je večina implementacij podatkov baz precej učinkovita pri uporabi operaterjev za delo z besedilnimi podatki, je iskanje po celotnem besedilu najbolje prepustiti namenskim knjižnicam, kot sta na primer Apache Lucene ali Sphinx. Te knjižnice so zasnovane posebej za iskanje po celotnem besedilu, posledično pa so učinkovitejše in lahko podpirajo več različnih funkcij iskanja, vključno z internacionalizacijo in naprednimi poizvedbami.