| |||
Problema con busqueda like... Resulta que necesito buscar una frecuencia de codigos en un determinado campo. Necesitaria buscar por ejemplo si : 0D0096 (6 espacios) 000000E Figura 2 veces en el contenido de un campo. La sentencia like serviria para esta busqueda. Seria algo asi: SELECT Name FROM Cliente WHERE Name = '$usuario' AND Inventory LIKE '%0D0096______000000E%0D0096______000000E% ' Cree un usuario con un campo inventory con esos valores y no me lo toma FFFFFFFFFFFFFFFFFFFFFFFFFF0D0096352164000000E00000 00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFF0D0096235684000000E0000000000000F FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF me tira error en la busqueda. Uso sql2005 y el campo Inventory es varbinary Desde ya gracias por la ayuda que me puedan brindar Última edición por guillox; 19/01/2009 a las 15:43 |
| |||
Respuesta: Problema con busqueda like... ese campo no es de caracteres. son representacion en hexadecimal de contenido binario. no se si hay soporte de LIKE sobre eso. y mucho menos con comodines. es mas, ni se si soporta where sobre esos campos. leeria sobre "varbinary" para ver como buscar en esos campos. en su defecto, guardaria esos campos en caracteres. |
| |||
Respuesta: Problema con busqueda like... Gracias por responder... ley recien que dicen que no toleraba like el varbinary El sistema ya trabaja asi y ignoro si podria cambiarlo. A que te referirias a pasarlo a caracteres?? Creo una tabla secundaria en varchar que tome los datos de Inventory cuando se consulte por ese '$usuario' y luego realizo el like?? O de otra forma se hace? |
| |||
Respuesta: Problema con busqueda like... pasarlo a caracteres. guardar la representacion en hexadecimal, del valor binario, en un campo de caracteres. estos son codigos de barra por alguna casualidad? porque estan almacenados en binario? |
| |||
Respuesta: Problema con busqueda like... Si, son lecturas de codigo de barras de articulos. No entiendo bien a que te referis con guardarlos. .. Ya intente guardarlos y me los guarda con otro tipo de caracter totalmente diferente al original. |
| |||
Respuesta: Problema con busqueda like... claro. porque esta guardando el valor binario. osea. esta copiando los contenido verbatim, pero luego convierte a su equivalente en el charset de la db. O los copias a mano, o los convertis usando alguna funcion. ej. tomando el primer byte y segun su valor, imprimir 0-9A-F. Entendes encoding de caracteres y representacion hexadecimal de binario? |
| |||
Respuesta: Problema con busqueda like... Te soy sincero.... tengo poco conosimiento de sql Pense que era una consulta simple de sql pero se me complico bastante. los primeros caracteres de Inventory son 0xFFF Estoy leyendo en la web y todavia no encuentro nada que me ayude o oriente un poco mas de como hacer lo que me decis. |
| |||
Respuesta: Problema con busqueda like... es mas alla de sql lo que te preguntaba. pero no importa. anduve buscando y hay una funcion que convierte de varbinary a cadena de caracteres. master.dbo.fn_varbintohexstr(valor) te convierte de binario a string en hexadecimal. tendrias que hacer un update tabla set camponuevo = master.dbo.fn_varbintohexstr(campovarbin); |