Números binarios con SQL

14/10/2003 - 22:28 por Parra | Informe spam
Hola a tod@s:
Tengo en una tabla una columna de numeros binarios y
quisiera que con una consulta me mostrara en que posición
se encuentra el 1. ej:

numero posicion

010101 246
100011 156
000001 6

Alguien sabe como puedo hacer esto en SQL..

Gracias...

Preguntas similare

Leer las respuestas

#1 Isaías
14/10/2003 - 23:33 | Informe spam
Con esta rutina, podria hacer una UDF


DECLARE @mybinario VARCHAR(6), @MyPos INT, @myResult
VARCHAR(6)
SET @mybinario = '010100'
SET @myResult = ''
IF CHARINDEX('1',@mybinario) > 0
BEGIN
SET @MyPos = CHARINDEX('1',@mybinario)
WHILE @MyPos > 0
BEGIN
SET @myResult = @myResult+CAST(@MyPos AS CHAR(1))
SET @MyPos = CHARINDEX('1',@mybinario, @MyPos+1)
CONTINUE
END
END

SELECT @myResult
Respuesta Responder a este mensaje
#2 Javier Loria
15/10/2003 - 03:00 | Informe spam
Hola:
Otra alternativa, NO tan generica como la de Isaias seria:
DECLARE @Secuencia CHAR(6)
SET @Secuencia='010101'

SELECT @Numero=@Secuencia
SELECT CASE SUBSTRING(@Secuencia, 1 ,1)
WHEN 0 THEN ''
ELSE '1'
END+
CASE SUBSTRING(@Secuencia, 2 ,1)
WHEN 0 THEN ''
ELSE '2'
END+
CASE SUBSTRING(@Secuencia, 3 ,1)
WHEN 0 THEN ''
ELSE '3'
END+
CASE SUBSTRING(@Secuencia, 4 ,1)
WHEN 0 THEN ''
ELSE '4'
END+
CASE SUBSTRING(@Secuencia, 5 ,1)
WHEN 0 THEN ''
ELSE '5'
END+
CASE SUBSTRING(@Secuencia, 6 ,1)
WHEN 0 THEN ''
ELSE '6'
END

Saludos,



Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Parra escribio:
Hola a :
Tengo en una tabla una columna de numeros binarios y
quisiera que con una consulta me mostrara en que posición
se encuentra el 1. ej:

numero posicion

010101 246
100011 156
000001 6

Alguien sabe como puedo hacer esto en SQL..

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