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

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server даБаза данных SQL Azure даAzure Synapse Analytics (хранилище данных SQL) даParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Возвращает символьные данные, преобразованные из числовых данных.Returns character data converted from numeric data.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQLTopic link icon Transact-SQL Syntax Conventions

СинтаксисSyntax

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

АргументыArguments

float_expressionfloat_expression
Выражение приблизительного числового (float) типа данных с десятичной запятой.Is an expression of approximate numeric (float) data type with a decimal point.

lengthlength
Общая длина.Is the total length. Она включает десятичную запятую, знак, цифры и пробелы.This includes decimal point, sign, digits, and spaces. Значение по умолчанию равно 10.The default is 10.

decimaldecimal
Количество знаков справа от десятичной запятой.Is the number of places to the right of the decimal point. Значение decimal должно быть меньше или равно 16.decimal must be less than or equal to 16. Если значение decimal больше 16, то результат усекается до шестнадцати знаков после запятой.If decimal is more than 16 then the result is truncated to sixteen places to the right of the decimal point.

Типы возвращаемых данныхReturn Types

varcharvarchar

RemarksRemarks

Если указано, то значения параметров length и decimal в функции STR должны быть положительными.If supplied, the values for length and decimal parameters to STR should be positive. Число округляется до целого или по умолчанию, или если десятичный параметр равен 0.The number is rounded to an integer by default or if the decimal parameter is 0. Указанная длина должна быть больше или равна части числа до запятой плюс знак числа (если имеется).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). Короткое выражение float_expression выравнивается справа до указанной длины, а длинное float_expression усекается до заданного количества цифр после запятой.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. Например, значением выражения STR(12 , 10) будет 12.For example, STR(12 , 10) yields the result of 12. Выравнивается в результирующем наборе вправо.This is right-justified in the result set. Однако STR(1223 , 2) усекает результирующий набор до **.However, STR(1223 , 2) truncates the result set to **. Строковые функции могут быть вложенными.String functions can be nested.

Примечание

Чтобы преобразовать данные в кодировку Юникод, используйте функцию STR внутри функций преобразования CONVERT или CAST.To convert to Unicode data, use STR inside a CONVERT or CAST conversion function.

ПримерыExamples

В следующем примере выражение, состоящее из пяти знаков и десятичной запятой, преобразуется в шестизначную символьную строку.The following example converts an expression that is made up of five digits and a decimal point to a six-position character string. Дробная часть числа округляется до одного десятичного знака.The fractional part of the number is rounded to one decimal place.

SELECT STR(123.45, 6, 1);  
GO  

Ниже приводится результирующий набор.Here is the result set.

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

Когда выражение превышает заданную длину, строка возвращает ** для указанной длины.When the expression exceeds the specified length, the string returns ** for the specified length.

SELECT STR(123.45, 2, 2);  
GO  

Ниже приводится результирующий набор.Here is the result set.

--  
**  
  
(1 row(s) affected)  

Даже когда в STR вложены числовые данные, результатом являются символьные данные с указанным форматом.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  

Ниже приводится результирующий набор.Here is the result set.

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

См. также:See Also

Функции CAST и CONVERT (Transact-SQL)CAST and CONVERT (Transact-SQL)
FORMAT (Transact-SQL)FORMAT (Transact-SQL)
Строковые функции (Transact-SQL)String Functions (Transact-SQL)