I dbms hanno svariate funzioni per le ricerche.
Le sintassi e le potenzialità dipendono dal tipo di database (MySQL o PostgreSQL o altro), per cui la cosa diventa complicata se gestita da programma.
Con questo intendo dire che, conoscendo tutte le funzioni include nel db, comporta la scrittura di un driver specifico, e per ogni tipo di database.
Il driver ODBC, per esempio, implementa un set molto limitato di queste funzioni, perchè ogni db ha le sue, alcune coincidono con funzioni presenti in altri motori, alcuni non le hanno proprio.
Se la tua applicazione è completamente mirata ad un tipo di db specifico, puoi richiamare e utilizzare direttamente le sue funzioni interne. Però, se poi decidi di rendere l'applicazione un pò più dinamica, allora la cosa può creare problemi.
Se le ricerche vengono fatte tramite codice, con i semplici comandi sql standard, allora non avrai problemi, tranne che per le performaces. Alcuni db usando funzioni estremamente specializzate, e che sfruttano appieno la potenza del motore del db, che non potrai mai raggiungere da codice esterno.