STR (Transact-SQL)

Возвращает символьные данные, преобразованные из числовых данных.

Значок ссылки на разделСоглашения о синтаксисе в Transact-SQL

Синтаксис

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

Аргументы

  • float_expression
    Выражение приближенного числового (float) типа данных с десятичной запятой.
  • length
    Общая длина. Она включает десятичную запятую, знак, цифры и пробелы. Значение по умолчанию 10.
  • decimal
    Количество знаков справа от десятичной запятой. Аргумент decimal должен быть меньше или равен 16. Если аргумент decimal больше 16, результат усекается до 16 знаков после запятой.

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

char

Замечания

Если указано, то значения для параметров length и decimal в функции STR должны быть положительными. Число округляется до целого либо по умолчанию, либо если десятичный параметр равен 0. Указанная длина должна быть больше или равна части числа до запятой плюс знак числа (если имеется). Короткое выражение float_expression выравнивается справа до указанной длины, а длинное float_expression усекается до заданного количества цифр после запятой. Например, STR(12**,10) в результате дает 12. Это число выравнено справа в результирующем наборе. Однако STR(1223,**2) усекает набор результатов до **. Строковые функции могут быть вложенными.

ms189527.note(ru-ru,SQL.90).gifПримечание.
Чтобы преобразовать данные в кодировку Юникод, используйте функцию STR внутри функций преобразования CONVERT или CAST.

Примеры

В следующем примере выражение, состоящее из пяти знаков и десятичной запятой, преобразуется в шестизначную символьную строку. Дробная часть числа округляется до одного десятичного знака.

SELECT STR(123.45, 6, 1)
GO

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

------
 123.5

(1 row(s) affected)

Когда выражение превышает заданную длину, строка возвращает ** для указанной длины.

SELECT STR(123.45, 2, 2)
GO

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

--

(1 row(s) affected)

Даже когда в STR вложены числовые данные, результатом являются символьные данные с указанным форматом.

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

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

--------
 123.000

(1 row(s) affected)

См. также

Справочник

Строковые функции (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005