sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo convertir un entero a un decimal en SQL Server

Problema:

Le gustaría convertir un valor entero a un tipo de datos DECIMAL en SQL Server.

Convirtamos un número entero al tipo de datos DECIMAL.

Solución 1:

Usaremos el CAST() función. Esta es la consulta que escribirías:

SELECT 
  CAST(12 AS DECIMAL(7,2) ) AS decimal_value
;

Aquí está el resultado:

valor_decimal
12.00

Discusión:

Usa el CAST() función para convertir un número entero a un tipo de datos DECIMAL. Esta función toma una expresión o un nombre de columna como argumento, seguido de la palabra clave AS y el nuevo tipo de datos. En nuestro ejemplo, convertimos un número entero (12) a un valor decimal (12,00). El valor mostrado tiene dos puntos decimales porque DECIMAL en CAST() tiene dos puntos decimales.

SQL Server proporciona otra opción:CONVERT() . Esta no es una función estándar de SQL como CAST() . La siguiente consulta muestra su uso.

Solución 2:

Aquí hay otra forma de convertir un número entero a un tipo DECIMAL:

SELECT 
  CONVERT(DECIMAL(7,2),12 ) AS decimal_value
;

Esta consulta produce el mismo resultado que CAST() , pero toma dos argumentos obligatorios:el tipo de datos y una expresión, valor o nombre de columna para convertir. Un tercer parámetro opcional especifica cómo debe formatearse el valor en su nuevo tipo. Obtenga más información sobre el formato de valores en la documentación oficial de SQL Server.

Si no necesita devolver el valor en un formato determinado, use CAST() .