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

#1 Gustavo Larriera [MVP]
02/12/2004 - 18:34 | Informe spam
Puedes brindarnos un ejemplo de cómo son los datos que tienes almacenados?
Son strings recostados a derecha o izquierda? Tienen relleno por izquierda o
no?

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.
"NickName" <emersongutierrez_sacar_la_arroba_hotmail.com> wrote in message
news:
cualquier ayuda me sirve... no sé cómo solucionarlo.

gracias.


"NickName" <emersongutierrez_sacar_la_arroba_hotmail.com> escribió en el
mensaje news:u217u$
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
#2 NickName
02/12/2004 - 18:41 | Informe spam
cualquier ayuda me sirve... no sé cómo solucionarlo.

gracias.


"NickName" <emersongutierrez_sacar_la_arroba_hotmail.com> escribió en el
mensaje news:u217u$
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
#3 ulises
02/12/2004 - 19:49 | Informe spam
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
#4 Víctor Rafael Bocanegra Arias
02/12/2004 - 20:27 | Informe spam
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
#5 Gustavo Larriera [MVP]
02/12/2004 - 20:56 | Informe spam
Mi pregunta se orienta a lo siguiente: Si los números hexadecimales están
almacenados en un texto recostado a la derecha y con caracteres de relleno
por izquierda, por ejemplo: 000000004c, 000000000f, 000000007b... entonces
el ordenamiento alfabetico coincide con el ordenamiento hexadecimal :-)

Entonces podrias orientar la solución a: simplemente rellenar con 0 a la
izquierda. En este mismo foro ya hemos hablado acerca de cómo hacerlo.

use tempdb
go

create table hexa (hexstring varchar(10))
go

insert hexa values ('000000004c')
insert hexa values ('000000000f')
insert hexa values ('000000007b')
go

select * from hexa order by hexstring

select * from hexa order by hexstring desc

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.
"NickName" <emersongutierrez_sacar_la_arroba_hotmail.com> wrote in message
news:OQW%
Gustavo no entendí tu pregunta, pero trataré de informarte:
la columna es del tipo varchar(10),
registros tipos son: 4c, f, 7b (equivalente a 76, 15, 123 en decimal)
y lo que quiero es ordenar la tabla en relación a este campo cómo ¿?
ni
idea

gracias por las ayudas cualquier comentario sirve.


"Gustavo Larriera [MVP]" escribió en el mensaje
news:
Puedes brindarnos un ejemplo de cómo son los datos que tienes
almacenados?
Son strings recostados a derecha o izquierda? Tienen relleno por
izquierda


o
no?

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.
"NickName" <emersongutierrez_sacar_la_arroba_hotmail.com> wrote in
message
news:
> cualquier ayuda me sirve... no sé cómo solucionarlo.
>
> gracias.
>
>
> "NickName" <emersongutierrez_sacar_la_arroba_hotmail.com> escribió en
> el
> mensaje news:u217u$
>> 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
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida