PDA

Ver la Versión Completa : como es el uso de like en sql server y como se conforma.


alexander66
29-12-2006, 21:40:07
buenas tardes club,
tengo una consulta sql la cual me da los campos y la description que tiene mi tabla en sql server 2000, la cual quiero buscar por descripcion con una igualacion es perfecta, lo que no se es por que no me acepta el uso del like.
Y esta consulta le estoy pasando una parte de un string para buscar, este es el sql que uso:


SELECT A.NAME AS Tabla, B.NAME AS Campo,
CASE WHEN D.VALUE IS NULL THEN '' ELSE D.VALUE END AS Descripcion
FROM (( (DBO.SYSOBJECTS A LEFT OUTER JOIN DBO.SYSCOLUMNS B ON A.ID=B.ID)
LEFT OUTER JOIN DBO.SYSCOMMENTS C ON B.CDEFAULT=C.ID )
LEFT OUTER JOIN DBO.SYSPROPERTIES D ON A.ID=D.ID AND B.COLID=D.SMALLID )
LEFT OUTER JOIN DBO.SYSTYPES E ON E.XTYPE=B.XTYPE
WHERE A.Name='tabla' and D.VALUE = '40@RFC1@RFC completo'

->si cambio por D.VALUE like '%RFC%' error sql_variant to varchar is not allowed. Use the CONVERT function to run this query.


De todo esto, es por que en mi tabla tengo descompuesto el RFC y otros mas campso (RFC1,RFC2,RFC3) en la descripcion esta la informacion por campo, con mi anterior sentencia y con funciones de copy y pos (en delphi)voy quitando los arrobas (@) para que al final me presente solo la descripcion sin los arrobas en un CheckListBox y es esta la razon por la que entonces buscare en la sentencia con like.

me puedes ayudar, les agradesco
gracias.

AzidRain
30-12-2006, 03:38:12
D.VALUE es un tipo variant, like solo trabaja con tipos char o varchar. En todo caso convierte D.VALUE a varchar y usa el resultado en el like