Conversiones decimal a binario, octal y hexadecimal en SQL Server

En esta ocasión veremos una función simple para convertir numeros decimales a otras bases como son, binario, octal y hexadecimal.

Codigo T-SQL

CREATE FUNCTION dbo.udf_decimal_a_base(@N bigint, @Base int)

RETURNS varchar(200)

AS

BEGIN

— Declaramos las variables a utilizar

DECLARE @Result varchar(200),

@NumChars varchar(50)

— Inicializamos las variables

SET @NumChars = ‘0123456789ABCDEF’

SET @Result =

— Validamos la base a convertir

IF ( (@Base = 2) OR (@Base = 8) OR (@Base = 10) OR (@Base = 16) )

BEGIN

— Ejecutamos el ciclo

WHILE ( @N > 0 )

BEGIN

— Realizamos la conversion

SET @Result = SUBSTRING(@NumChars,(@N % @Base) + 1,1) + @Result

— Disminuimos N, dividiendola entre la base

SET @N = FLOOR(@N / @Base)

END

END

— Retornamos el resultado

RETURN @Result

END

GO

El uso de esta funcion quedaría:

SELECT dbo.udf_decimal_a_base(4564,2)

SELECT dbo.udf_decimal_a_base(4564,8)

SELECT dbo.udf_decimal_a_base(4564,16)

Codigo T-SQL

Dandonos como resultados:

Resultados T-SQL

———————————————————————————————
1000111010100

(1 filas afectadas)

———————————————————————————————
10724

(1 filas afectadas)

———————————————————————————————
11D4

(1 filas afectadas)

Esta función puede incluirse dentro de Stored Procedures y tener múltiples aplicaciones, espero que les sirva. Hasta la próxima.

Related Posts

Conexión a Sql Server con Php 5.6 linux CentOS 6

admin

March 28, 2016

PHP, SQL SERVER

No Comment

Para conectarse a Sql Server desde linux utilizamos este comando para instalar el driver: [bash] $ sudo yum install -y php-mssql [/bash] Por ejemplo, para php5.6: [bash] $ sudo yum install -y php56w-mssql [/bash] Esta instrucción instala freetds, una colección de librerias para conectarnos con Sql Server desde linux. Con esta librería no solo podemos […]

Read More

Scripts de creación de objetos en Sql Server

admin

March 28, 2016

SQL SERVER

No Comment

La manera correcta de crear scripts en Sql Server para la creación de objetos, como tablas, procedimientos almacenados, funciones, restricciones, etc., es la siguiente: Primero, verificar si existe el objeto existe. Si existe, eliminarlo. Posteriormente, crear el objeto. Posteriormente, repetir para los objetos que dependen del que acabamos de crear. **Importante** Establecer siempre la base […]

Read More

Leave a Reply

Your email address will not be published. Required fields are marked *

Busca en el blog aqui

Herramientas Útiles

Suscribete al blog

Recibe en tu correo las últimas publicaciones

Publicidad

Sígueme en Twitter