Bueno, lo segundo es otra cosa, pero tiene más potencia.
Imaginate que tienes una base de datos de una biblioteca y tienes que buscar un libro por el título. Nunca sabremos como está exactamente registrado. Por ejemplo puede poner: Don Quijote de la Mancha o El ingenioso hidalgo Don Quijote o El Quijote. Entonces sería muy dificil buscarlo con el primer sistema porque no sabemos como empieza, pero en cambio suponemos que en todos los caso llevará la palabra Quijote. Con el segundo sistema podríamos localizarlo facilmente.
Supongamos:
Tabla llamada BIBLIOTECA donde se registran todos los libros, y uno de sus campos es TITULO. Esta tabla la tienes visualizada en un DBGrid a traves de un DataSet llamado LIBROSBIBLIO
En algún momento de la aplicación habrirás la tabla (o la tienes siempre abierta porque lo has diseñado así).
Ahora ponemos un Edit (que tiene propiedad Text pero no Caption) y un botón [Buscar]
Escribimos en el edit alguna palabra característica del título a buscar: por ejemplo Quijo
y le damos al botón buscar que tiene en su evento OnClick este código
LIBROSBIBLIO.Close;
LIBROSBIBLIOSQL.Text := 'select * from BIBLIO where UPPER(' + TITULO + ') LIKE :QUEBUSCO' ;
LIBROSBIBLIO.ParamByName('QUEBUSCO').AsString := '%' + AnsiUpperCase(Trim(Edit1.Text)) + '%';
LIBROSBIBLIO.Open;
Con esto en el DBGrid aparecerán todos los libros que en su TITULO lleven el texto Quijo independientemente que esté en mayúsculas o minúsculas y que al buscar lo hayamos puesto en mayúsculas o minúsculas.
Explicación mas o menos válida, porque va al vuelo y no lo he probado, por lo que puede haber errores.
//se cierra la tabla
LIBROSBIBLIO.Close;
//se selecciona en la tabla biblioteca todos los registros que en el titulo contengan (se
//hace con LIKE) lo que desee (se hace con el parámeto QUEBUSCO).
//upper lo transforma en mayúsculas
LIBROSBIBLIOSQL.Text := 'select * from BIBLIO where UPPER(' + TITULO + ') LIKE :QUEBUSCO' ;
//lo que busco lo escribes en el edit. % es un comodín, como hay uno al principio y al
// final será CULAQUIER COSA + LOQUEBUSCO + CUALQUIERCOSA
//AnsiUpperCase es para transformar a máyúsculas, incluidas vocales acentuadas
//ñ, Ç , etx.
LIBROSBIBLIO.ParamByName('QUEBUSCO').AsString := '%' + AnsiUpperCase(Trim(Edit1.Text)) + '%';
//abro la tabla y aparecerán los registros que cumplan las condiciones entradas.
LIBROSBIBLIO.Open;
Busca un manual de SQL que hay muchos por internet.