Order by Hex

02/12/2004 - 17:02 por NickName | Informe spam
buen día...

cómo puedo ordenar por un campo con valores hexadecimales, pero el tipo de
datos es un varchar(10) (debo cambiarlo?)

porque al intentar me ordena como un string y no en orden numérico
hexadecimal ¿?

muchas gracias por cualquier ayuda.

_____________________________________
intente, pero nada:
SELECT DISTINCT Topico.Id, CAST(code AS varbinary(1)) AS hex
FROM miTabla
ORDER BY hex

Preguntas similare

Leer las respuestas

#11 NickName
02/12/2004 - 23:23 | Informe spam
claro!?, quiero probar primero con la idea de Gustavo, pero tengo una
pregunta, y dejo de molestar =), hay una forma de generar un texto recostado
a la derecha.
hoy tengo los números-hexa en varchar(10), ejemplo '4ce'... cómo lo puedo
llevar a un '00000004ce'

gracias por toda la colaboración... y por esta de antemano.



"Víctor Rafael Bocanegra Arias" escribió en
el mensaje news:
1ro... con que version de MSSQL trabajas?... si es que trabajas con MSSQL
2000, lo q puedes hacer es una funcion que te convierta tu Numero
HEXADECIMAL en numero de base 10

Salu2

Victor

"NickName" <emersongutierrez_sacar_la_arroba_hotmail.com> escribió en el
mensaje news:%23B3I%
> cómo dentro de la query puedo transformar un número hexad a decimal ¿?
> de ser así tengo la solución para ordenar
>
>
> "Víctor Rafael Bocanegra Arias" escribió


en
> el mensaje news:
>> y xq no solamente convierten la cadena a NUMERO, al final se tiene que
>> ordenar en orden NUMERICO no creen ;)
>>
>> Salu2
>>
>> Victor
>>
>>
>> "ulises" escribió en el mensaje
>> news:0b1901c4d89f$b5d7b970$
>> Lo único que se me ocurre es cambiarlo a binario y luego
>> esa representación hexadecimal llevarla a una cadena, algo
>> como :
>>
>> DECLARE @cadena varchar(10)
>> DECLARE @binario varbinary(10)
>> SELECT @binario = CONVERT(varbinary(10),'ABC')
>> EXEC master.dbo.xp_varbintohexstr @binario, @cadena OUTPUT
>> SELECT @cadena
>>
>> -
>> 0x414243
>>
>> (1 row(s) affected)
>>
>> pero no se me ocurre como ejecutarla para todas las filas
>> sin usar un cursor :(
>>
>> Saludos,
>> Ulises
>>
>> >buen día...
>> >
>> >cómo puedo ordenar por un campo con valores hexadecimales,
>> pero el tipo de
>> >datos es un varchar(10) (debo cambiarlo?)
>> >
>> >porque al intentar me ordena como un string y no en orden
>> numérico
>> >hexadecimal ¿?
>> >
>> >muchas gracias por cualquier ayuda.
>> >
>> >_____________________________________
>> >intente, pero nada:
>> >SELECT DISTINCT Topico.Id, CAST(code AS varbinary(1)) AS hex
>> >FROM miTabla
>> >ORDER BY hex
>> >
>> >
>> >.
>> >
>>
>>
>
>


Respuesta Responder a este mensaje
#12 NickName
03/12/2004 - 14:37 | Informe spam
ahora si que si gracias.
sólo un detalle, la sintaxis es: REPLICATE (character_expression,
integer_expression)
replicate('0', 10-len(numeros-hexa))

gracias por toda la colaboración.

"Víctor Rafael Bocanegra Arias" escribió en
el mensaje news:%
lo que tendrias que ejecutar seria algo como esto:

update tblDatos
set numeros-hexa= replicate(10-len(numeros-hexa),'0')+numeros-hexa

suerte

salu2

Victor

"NickName" <emersongutierrez_sacar_la_arroba_hotmail.com> escribió en el
mensaje news:%
> claro!?, quiero probar primero con la idea de Gustavo, pero tengo una
> pregunta, y dejo de molestar =), hay una forma de generar un texto
> recostado
> a la derecha.
> hoy tengo los números-hexa en varchar(10), ejemplo '4ce'... cómo lo


puedo
> llevar a un '00000004ce'
>
> gracias por toda la colaboración... y por esta de antemano.
>
>
>
> "Víctor Rafael Bocanegra Arias" escribió


en
> el mensaje news:
>> 1ro... con que version de MSSQL trabajas?... si es que trabajas con


MSSQL
>> 2000, lo q puedes hacer es una funcion que te convierta tu Numero
>> HEXADECIMAL en numero de base 10
>>
>> Salu2
>>
>> Victor
>>
>> "NickName" <emersongutierrez_sacar_la_arroba_hotmail.com> escribió en


el
>> mensaje news:%23B3I%
>> > cómo dentro de la query puedo transformar un número hexad a decimal


¿?
>> > de ser así tengo la solución para ordenar
>> >
>> >
>> > "Víctor Rafael Bocanegra Arias"


escribió
> en
>> > el mensaje news:
>> >> y xq no solamente convierten la cadena a NUMERO, al final se tiene


que
>> >> ordenar en orden NUMERICO no creen ;)
>> >>
>> >> Salu2
>> >>
>> >> Victor
>> >>
>> >>
>> >> "ulises" escribió en el mensaje
>> >> news:0b1901c4d89f$b5d7b970$
>> >> Lo único que se me ocurre es cambiarlo a binario y luego
>> >> esa representación hexadecimal llevarla a una cadena, algo
>> >> como :
>> >>
>> >> DECLARE @cadena varchar(10)
>> >> DECLARE @binario varbinary(10)
>> >> SELECT @binario = CONVERT(varbinary(10),'ABC')
>> >> EXEC master.dbo.xp_varbintohexstr @binario, @cadena OUTPUT
>> >> SELECT @cadena
>> >>
>> >> -
>> >> 0x414243
>> >>
>> >> (1 row(s) affected)
>> >>
>> >> pero no se me ocurre como ejecutarla para todas las filas
>> >> sin usar un cursor :(
>> >>
>> >> Saludos,
>> >> Ulises
>> >>
>> >> >buen día...
>> >> >
>> >> >cómo puedo ordenar por un campo con valores hexadecimales,
>> >> pero el tipo de
>> >> >datos es un varchar(10) (debo cambiarlo?)
>> >> >
>> >> >porque al intentar me ordena como un string y no en orden
>> >> numérico
>> >> >hexadecimal ¿?
>> >> >
>> >> >muchas gracias por cualquier ayuda.
>> >> >
>> >> >_____________________________________
>> >> >intente, pero nada:
>> >> >SELECT DISTINCT Topico.Id, CAST(code AS varbinary(1)) AS hex
>> >> >FROM miTabla
>> >> >ORDER BY hex
>> >> >
>> >> >
>> >> >.
>> >> >
>> >>
>> >>
>> >
>> >
>>
>>
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida