STR (Transact-SQL)

Devuelve datos de caracteres convertidos a partir de datos numéricos.

Icono de vínculo a temasConvenciones 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 posiciones a la derecha del separador decimal. El valor de decimal debe ser inferior o igual a 16. Si el valor de decimal es superior a 16, el resultado se trunca a dieciséis posiciones a la derecha del separador decimal.

Tipos de valor devueltos

varchar

Notas

Si se especifican, los valores de los parámetros length y decimal de STR deben ser positivos. El número se redondea a un entero de forma predeterminada o si el parámetro decimal es 0. La longitud especificada debe ser superior o igual a la parte del número anterior al separador decimal más el signo del número (si existe). 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) produce el resultado de 12. Esto se justifica 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