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 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)

Ayuda e información

Obtener ayuda sobre SQL Server 2005