Utilizar el operador $ o utilizar LIKE

6,330 views
Skip to first unread message

Juanpa

unread,
Jul 3, 2012, 7:22:23 AM7/3/12
to publice...@googlegroups.com
Buenas,

En un SELECT-SQL, al buscar una cadena de texto dentro de un campo de una tabla ¿Existe alguna diferencia entre utilizar $ o LIKE? ¿Es más rápido uno que otro?

Gracias.

Un saludo,

---------------------------------------
Juan Pablo Martín Peinado
Guadalajara - España
---------------------------------------

Carlos Miguel FARIAS

unread,
Jul 3, 2012, 7:32:56 AM7/3/12
to publice...@googlegroups.com
El $ es equivalente al LIKE, cuando usas este último para buscar un contenido en cualquier parte de la cadena de texto.
El Like ademas permite buscar si el texto está al principio o al final, y usar comodines para texto intermedio.
Fijate las posibilidades del LIKE en la ayuda, trabaja igual que en SQL
Saludos: Miguel, La Pampa (RA)

Luis Maria Guayan

unread,
Jul 3, 2012, 8:13:07 AM7/3/12
to publice...@googlegroups.com
En sentencias SELECTs es mas compatible con T-SQL el uso de LIKE, $ es un operador de VFP, no de otro motor de BD.

LIKE tiene dos comodines % y _ lo que te permite especificar si la condicion esta al inicio, final, al medio (con %), o en un lugar específico (con _)

Otra ventaja de de LIKE es que ja condición "Cadena%" es optimizable con Rushmore

Mira en la ayuda de VFP9 el tema "Filter Conditions for Queries and Views"

Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

Juanpa

unread,
Jul 3, 2012, 1:35:21 PM7/3/12
to publice...@googlegroups.com
Ok. Parece ser que usar LIKE tiene ventajas sobre $, así que a partir de ahora será lo que utilice.

Muchas gracias a todos.


---------------------------------------
Juan Pablo Martín Peinado
Guadalajara - España
---------------------------------------


El martes, 3 de julio de 2012 16:07:01 UTC+2, Fox Learner escribió:
Como ya te recomendaron.. Usa LIKE porque sera menos "tormentoso" para cuando estes por usar un SGBD como MySql o Firebird, por ejemplo.

¿Te acuerdas del comodin asterisco del DOS?... Eso del DIR *Miarchivo*.P* ?

El simbolo % del like funciona como ese comodin.

Ejemplos:

LIKE 'M%'   Extraerá los registros que inicien con una M, sin importar el resto.

LIKE '%M%'  Extraerá los registros que "contengan" una M dentro de la cadena.

LIKE '%M'  Extraerá los registros que Terminen con una M sin importar el inicio de la cadena.

Select id, nombre from Mitabla where nombre LIKE 'M%'

Mostrara los campos id y nombre de la tabla Mitabla donde el campo nombre empiece con una M mayuscula.

Solo recuerda que las sentencias SQL son sensibles al uso de mayusculas y minusculas, por lo que puede que sea necesario agregar una clausula OR dependiendo de como estructuraste la lógica de tu sistema.

Tambien recuerda que el uso del Select * (Selecciona todos los registros), en vez de poner los campos, ya no se recomienda bajo los SGBD usando Cliente-Servidor, ya que por ejemplo en un sistema web con "millones" de usuarios causando "concurrencia" en la BD eso sería fatal..

Saludos! 

Carlos Miguel FARIAS

unread,
Jul 3, 2012, 6:23:09 PM7/3/12
to publice...@googlegroups.com
El operador $ es heredado de la epoca del dbase II si mal no recuerdo, el LIKE de la epoca que se incorpora SQL al fox (1992, versión 2).
Para buscar algo de una string (cadena) en cualquier ubicación, el $ es mucho más compacto para escribir, sobre todo cuando se trabaja desde la ventana de comandos.
Por supuesto, también prefiero el LIKE dentro del código, por razones de claridad.
Saludos: Miguel, Santa Rosa (LP)

Walter R. Ojeda Valiente

unread,
Jul 3, 2012, 6:28:55 PM7/3/12
to publice...@googlegroups.com
Y te faltó decir que estabas PROGRAMANDO EN VISUAL FOXPRO, por eso lo agregué yo, je.

:-)

Saludos.

Walter.





Date: Tue, 3 Jul 2012 19:23:09 -0300
Subject: Re: [vfp] Re: Utilizar el operador $ o utilizar LIKE
From: carlosmig...@gmail.com
To: publice...@googlegroups.com

Carlos Miguel FARIAS

unread,
Jul 3, 2012, 6:50:16 PM7/3/12
to publice...@googlegroups.com
Pasa que ahora no estaba programando en VISUAL FOXPRO; porque tengo mucha actividad en la Facu. Final de semestre. Tengo estudiantes enamorados de la ignorancia y no hay forma de convencerlos, ellos dicen que "no saben".
Hay jovenes que son espectaculares, estudian, preguntan cuando no saben, no faltan a clases, pero tenes otro grupo que tenes que correrlos para que aparezcan.
Saludos: Miguel, La Pampa (desde la ventana de comandos de PROGRAMANDO CON VISUAL FOXPRO)

Walter R. Ojeda Valiente

unread,
Jul 3, 2012, 6:57:55 PM7/3/12
to publice...@googlegroups.com
Bueno, según mi estadística propia, la cual por supuesto podría ser refutada con cualquier estudio serio, en cada grupo de 40 alumnos hay solamente 2 ó 3 que justifican la asistencia del profesor para dar clases, el resto .... pues .... sólo implica perder tiempo.

Saludos.

Walter.




Date: Tue, 3 Jul 2012 19:50:16 -0300

Daniel Sánchez

unread,
Jul 3, 2012, 7:17:19 PM7/3/12
to publice...@googlegroups.com
Así es procurar no usar VFP en su lugar Visual FoxPro (recuerden el indice TIOBE), así como nos gusta escribir mucho, de hecho que lo superamos a todos los demás en el tal famoso indice.

Saludos

--
Daniel Sánchez Escobar
Investigación y Desarrollo
Reset Software & Sistemas
Móvil +051-949398047
Trujillo - Perú

Miguel Canchas

unread,
Jul 4, 2012, 10:10:53 AM7/4/12
to publice...@googlegroups.com

De acuerdo entonces Visual FoxPro

 

MK

Alex Vargas

unread,
Jul 4, 2012, 11:21:20 PM7/4/12
to publice...@googlegroups.com
Visual FoxPro sera entonces.

Saludos

Alex A. Vargas

Alex Vargas

unread,
Jul 4, 2012, 11:23:06 PM7/4/12
to publice...@googlegroups.com
Por cierto.

Que bueno es Visual FoxPro verdad?
por eso lo uso todos los dias desde hace 14 años y contando, jeje.

Saludos


Alex A. Vargas

Fox Learner

unread,
Jul 3, 2012, 10:07:01 AM7/3/12
to publice...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages