STR (Transact-SQL)STR (Transact-SQL)

SE APLICA A: síSQL Server (a partir de 2008) síAzure SQL Database síAzure SQL Data Warehouse síAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server (starting with 2008) yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Devuelve datos de caracteres convertidos de datos numéricos.Returns character data converted from numeric data.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

STR ( float_expression [ , length [ , decimal ] ] )  

ArgumentosArguments

float_expressionfloat_expression
Es una expresión de tipo de datos numéricos aproximados (float) con separador decimal.Is an expression of approximate numeric (float) data type with a decimal point.

lengthlength
Es la longitud total.Is the total length. Ésta incluye el separador decimal, el signo, los dígitos y los espacios.This includes decimal point, sign, digits, and spaces. El valor predeterminado es 10.The default is 10.

decimaldecimal
Es el número de posiciones a la derecha del separador decimal.Is the number of places to the right of the decimal point. decimal debe ser inferior o igual a 16.decimal must be less than or equal to 16. Si el parámetro decimal es mayor que 16, el resultado se trunca en dieciséis posiciones a la derecha del separador decimal.If decimal is more than 16 then the result is truncated to sixteen places to the right of the decimal point.

Tipos devueltosReturn Types

varcharvarchar

NotasRemarks

Si se especifican, los valores de los parámetros length y decimal de STR deben ser positivos.If supplied, the values for length and decimal parameters to STR should be positive. El número se redondea a un entero de forma predeterminada o si el parámetro decimal es 0.The number is rounded to an integer by default or if the decimal parameter is 0. La longitud especificada debe ser mayor o igual que la parte del número situada delante del separador decimal más el signo del número (si lo hay).The specified length should be greater than or equal to the part of the number before the decimal point plus the number's sign (if any). Una float_expression corta se justifica a la derecha según la longitud especificada y una float_expression larga se trunca según el número de decimales especificados.A short float_expression is right-justified in the specified length, and a long float_expression is truncated to the specified number of decimal places. Por ejemplo, STR(12 , 10) da como resultado 12.For example, STR(12 , 10) yields the result of 12. Se justifica a la derecha en el conjunto de resultados.This is right-justified in the result set. Sin embargo, STR(1223 , 2) trunca el conjunto de resultados a **.However, STR(1223 , 2) truncates the result set to **. Las funciones de cadena se pueden anidar.String functions can be nested.

Nota

Para convertir a datos Unicode, utilice STR en una función de conversión CONVERT o CAST.To convert to Unicode data, use STR inside a CONVERT or CAST conversion function.

EjemplosExamples

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.The following example converts an expression that is made up of five digits and a decimal point to a six-position character string. La parte fraccionaria del número se redondea a un lugar decimal.The fractional part of the number is rounded to one decimal place.

SELECT STR(123.45, 6, 1);  
GO  

El conjunto de resultados es el siguiente.Here is the result set.

------  
 123.5  
  
(1 row(s) affected)  

Cuando la expresión excede la longitud especificada, la cadena devuelve ** para esa longitud.When the expression exceeds the specified length, the string returns ** for the specified length.

SELECT STR(123.45, 2, 2);  
GO  

El conjunto de resultados es el siguiente.Here is the result set.

--  
**  
  
(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.Even when numeric data is nested within STR, the result is character data with the specified format.

SELECT STR (FLOOR (123.45), 8, 3);
GO  

El conjunto de resultados es el siguiente.Here is the result set.

--------  
 123.000  
  
(1 row(s) affected)  

Consulte tambiénSee Also

CAST y CONVERT (Transact-SQL)CAST and CONVERT (Transact-SQL)
FORMAT (Transact-SQL)FORMAT (Transact-SQL)
Funciones de cadena (Transact-SQL)String Functions (Transact-SQL)