STR (Transact-SQL)
Devuelve datos de caracteres convertidos a partir de datos numéricos.
Convenciones de sintaxis de Transact-SQL
Sintaxis
STR ( float_expression [ , length [ , decimal ] ] )
Argumentos
- float_expression
Es una expresión de tipo de datos numéricos aproximados (float) con separador decimal.
- length
Es la longitud total. Ésta incluye el separador decimal, el signo, los dígitos y los espacios. El valor predeterminado es 10.
- decimal
Es el número de cifras a la derecha del separador decimal. El valor de decimal debe ser menor o igual que 16. Si decimal es mayor que 16, el resultado se trunca en el decimosexto lugar a la derecha del separador decimal.
Tipos de valor devueltos
char
Notas
Si se especifican, los valores de los parámetros length y decimal de STR deben ser positivos. De manera predeterminada, o si el parámetro decimal es 0, el número se redondea a un entero. El valor de length especificado debe ser mayor o igual que la longitud de la parte del número anterior al separador decimal, más el signo (si corresponde). Una float_expression corta se justifica a la derecha según al longitud especificada, y una float_expression larga se trunca según el número de decimales especificados. Por ejemplo, STR(12**,10) da como resultado 12, justificado a la derecha en el conjunto de resultados. Sin embargo, STR(1223,**2) trunca el conjunto de resultados a **. Las funciones de cadena se pueden anidar.
[!NOTA] Para convertir a datos Unicode, utilice STR en una función de conversión CONVERT o CAST.
Ejemplos
En el ejemplo siguiente se convierte una expresión formada por un máximo de cinco dígitos y un separador decimal en una cadena de caracteres de seis posiciones. La parte fraccionaria del número se redondea a un lugar decimal.
SELECT STR(123.45, 6, 1)
GO
Éste es el conjunto de resultados.
------
123.5
(1 row(s) affected)
Cuando la expresión excede la longitud especificada, la cadena devuelve **
para esa longitud.
SELECT STR(123.45, 2, 2)
GO
Éste es el conjunto de resultados.
--
(1 row(s) affected)
Incluso cuando se anidan datos numéricos en STR
, el resultado son datos de tipo carácter con el formato especificado.
SELECT STR (FLOOR (123.45), 8, 3)
GO
Éste es el conjunto de resultados.
--------
123.000
(1 row(s) affected)
Vea también
Referencia
Funciones de cadena (Transact-SQL)