operador LIKE '% %'

18/01/2005 - 16:49 por Rick | Informe spam
que tal colegas una cosa que me saca de onda

tengo una tabla(factura) con 4 registros los cuales son
(int) (varchar 40)
factura nombre
1 richlandia
2 test
3 jorge
4 richilandia 4 ever

ejecuto la siguiente sentencia
select * from factura where nombre like '%ric%'

pero solo me regresa 1 registro en lugar de regresarme 2 registros, me
regresa el registro 4,
que estoy haciendo mal??

y si hago esto
select * from factura where nombre like '%land%'

me regresa los 2 registros que cumplen con la condicion (1 y 4)

el uso de los caracteres % segun tengo entendido son comodines para que
antes o despues de donde se usen pueda estar cualquier caracter(es)
en este caso digo lo que sea que este al principio luego ric luego lo que
sea pero como que tiene algun lio cuando no tiene nada al principio

uso sql server 2000 con sp3, winxp sp2 y vb6
esto lo hago desde vb y desde el editor de consultas y en ambos casos
obtengo los mismos resultados x lo k creo que puedo tener algun error en mi
sentencia

alguien me puede ayudar por favor?
 

Leer las respuestas

#1 Gustavo Larriera [MVP]
18/01/2005 - 17:12 | Informe spam
No repro, funciona OK devolviendo los 2 registros.

USE tempdb
GO

CREATE TABLE factura (factura INT, nombre VARCHAR(40))
GO

INSERT factura VALUES (1, 'richlandia')
INSERT factura VALUES (2, 'test3')
INSERT factura VALUES (3, 'jorge')
INSERT factura VALUES (4, 'richlandia2')
GO

SELECT * FROM factura WHERE nombre LIKE '%ric%'


Gustavo Larriera, MVP
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and
confers no rights.



"Rick" wrote in message
news::
que tal colegas una cosa que me saca de onda

tengo una tabla(factura) con 4 registros los cuales son
(int) (varchar 40)
factura nombre
1 richlandia
2 test
3 jorge
4 richilandia 4 ever

ejecuto la siguiente sentencia
select * from factura where nombre like '%ric%'

pero solo me regresa 1 registro en lugar de regresarme 2 registros, me
regresa el registro 4,
que estoy haciendo mal??

y si hago esto
select * from factura where nombre like '%land%'

me regresa los 2 registros que cumplen con la condicion (1 y 4)

el uso de los caracteres % segun tengo entendido son comodines para que
antes o despues de donde se usen pueda estar cualquier caracter(es)
en este caso digo lo que sea que este al principio luego ric luego lo que

sea pero como que tiene algun lio cuando no tiene nada al principio

uso sql server 2000 con sp3, winxp sp2 y vb6
esto lo hago desde vb y desde el editor de consultas y en ambos casos
obtengo los mismos resultados x lo k creo que puedo tener algun error en
mi
sentencia

alguien me puede ayudar por favor?

Preguntas similares