
Resumen: en este tutorial, aprenderás a usar la función STR()
de SQL Server para convertir valores numéricos en cadena de texto.
Introducción a la función STR() de SQL Server
La siguiente sentencia no funciona:
SELECT 'index' + 1;
La consulta anterior nos arrojara el siguiente error:
Conversion failed when converting the varchar value 'index' to data type int.
Para que funcione, debes convertir el número 1
en una cadena '1
' usando la función STR()
:
SELECT
'index' + STR(1,1,1) result;
La función STR()
convierte un valor numérico en cadena de texto. A continuación se muestra la sintaxis de la función STR()
:
STR ( float_expression [ , length [ , decimal ] ] )
En esta sintaxis:
float_expression
es una expresión numérica que se evalúa como un número aproximado con un punto decimal.length
es la longitud total de la cadena devuelta. Incluye punto decimal, signo, dígitos y espacios. De forma predeterminada, la longitud es 10 si la omites. Si la longitud es cero, la función devuelve NULL.decimal
es el número de lugares a la derecha del punto decimal defloat_expression
que se devolverá. el decimal debe ser menor o igual a 16. Si es mayor que 16, la función trunca el resultado a dieciséis lugares a la derecha del punto decimal.
Ejemplos de la función STR() de SQL Server
Este ejemplo utiliza la función STR()
para convertir un número que consta de seis dígitos y un punto decimal en una cadena de caracteres de seis posiciones con dos decimales:
SELECT
STR(123.456, 6, 2) result
Resultado:
result
------
123.46
(1 row affected)
Si la longitud del número excede la longitud especificada, la función STR()
devuelve '**'
como se muestra en el siguiente ejemplo:
SELECT STR(987.65,2,2) result;
Resultado:
result
------
**
(1 row affected)
Otro ejemplo de longitud insuficiente es:
SELECT STR(987.65,1) result;
Resultado:
result
------
*
(1 row affected)
En este tutorial, aprendiste a usar la función STR()
de SQL Server para convertir valores numéricos en valores de texto.