CAST en SQL Server

 Función Cast en SQL Server




La función Cast nos permite convertir un valor cualquiera en un tipo de dato específico

Podría interesarte uso de la función CONVERT()


Sintaxis de la función Cast()

CAST(EXPRESIÓN AS TIPO_DATO(LONGITUD))


Argumentos de la sintaxis CAST()

CAST(): Función que nos indica que vamos a realizar una conversión.

EXPRESIÓN: Indica la expresión o valor a convertir(columna, valor numérico, cadena de carácter)

TIPO_DATO: indicamos el tipo de dato al cual realizaremos la conversión. Los tipos de datos admitidos para usar la función Cast son: 

  • Tipo de datos numéricos:bigint, int, smallint, tinyint, decimal, numeric, money
  • Enteros: float, real
  • Cadena de carácter: nchar, varchar, nvarchar, text ntext, varbinary, binary, image

LONGITUD: Indicamos la longitud del tipo de dato al que vamos a realizar la conversión. Podemos poner como ejemplo si vamos a convertir una expresión a varchar con una longitud 100 o a un tipo de dato numérico de tipo decimal con longitud 18,2.
VARCHAR(100)-- longitud de varchar
DECIMAL(18,2)--longitud de decimal



Ejemplos utilizando la función CAST()

Para el primer ejemplo vamos a convertir una cantidad numérica a un tipo de dato varchar. La cantidad a convertir sera 45782.52

 SELECT CAST(45782.52 AS VARCHAR(100)) AS CARACTER

Ahora ejecutemos el ejemplo en SQL Server Management Studio:


Veamos otro ejemplo en el cual se realice la conversión de una fecha.

SELECT CAST('22/05/2020' AS DATETIME) AS fECHA

Ejecutemos la consulta para obtener el resultado de la conversión.


Convertir registros de una columna en otro tipo de dato usando CAST() SQL

Ya vimos dos ejemplos sencillos del uso de Cast() SQL, ahora vamos a escalar el nivel del ejemplo, ahora vamos a obtener un registros de una tabla y lo vamos a convertir en otro tipo de dato.

Para nuestro ejemplo vamos obtener de una tabla denominada "StbEmpresa" el Prefijo de la empresa. Este prefijo lo vamos a convertir a varchar y lo vamos almacenar en una variable y por último el resultado lo mostramos en pantalla. La consulta que vamos a crear es la siguiente:

DECLARE  @Prefix as varchar(5)
        ,@EmpresaID as bigint
        set @EmpresaID = 1
select @Prefix=cast(IdPrefix as varchar)
from StbEmpresa where ID=@EmpresaID	
PRINT @Prefix

Para obtener el prefijo de la empresa hemos declarado dos variables. la primera nos va permitir almacenar el prefijo obtenido de la consulta select y la segunda variable nos va permitir obtener el prefijo mediante un filtro de ID de empresa y por último imprimimos el resultado.

Podrían interesarte los siguientes temas(Uso de variables en SQL, Uso de la cláusula where en SQL)

Ejecutemos la consulta en SQL Server Management Studio:


Si observamos el resultado obtenido al ejecutar la consulta podemos ver en pantalla el prefijo obtenido.

Veamos otro ejemplo de la siguiente tabla que almacena la información de procesos de empaque de un producto. 



Vamos a obtener la fecha pero la vamos a convertir en un tipo de dato de fecha más corto y que nos muestre la cantidad empacada en dicha fechas ordenada por el codigo del producto. La consulta es la siguiente:

select CAST(FechaVencimiento as date) AS Fecha_Vence,CantidadEmpacar
from EqEmpaqueDetalle
order by objProductoID

Ejecutemos la consulta para obtener el resultado:


Al ejecutar la consulta podemos observar que hemos obtenido la fecha en un formato más corto.

En este artículo hemos aprendido el uso de la función CAST. Esperando les sea de mucha ayuda los ejemplos creados hasta la próxima.


Publicar un comentario

0 Comentarios