В этом руководстве вы узнаете, как использовать функцию SQL Server STR() для преобразования числового значения в символьное.
Обзор функции SQL Server STR()
Следующее утверждение не работает:
SELECT 'index' + 1;
Вот сообщение об ошибке:
Conversion failed when converting the varchar value 'index' to data type int.
Чтобы это заработало, вам нужно преобразовать число 1 в строку «1» с помощью функции STR():
SELECT 'index' + STR(1,1,1) result;
Функция STR() преобразует числовое значение в символьное значение. Ниже показан синтаксис функции STR():
STR( float_expression [ , length [ , decimal ] ] )
В этом синтаксисе:
- float_expression — числовое выражение, результатом которого является приблизительное число с десятичной точкой.
- length — общая длина возвращаемой строки. Она включает десятичную точку, знак, цифры и пробелы. По умолчанию длина равна 10, если вы ее пропустите. Если длина равна нулю, функция возвращает NULL.
- decimal — это количество знаков справа от десятичной точки возвращаемого float_expression. decimal должен быть меньше или равен 16. Если он больше 16, то функция усекает результат до шестнадцати знаков справа от десятичной точки.
Примеры функций SQL Server STR()
В этом примере функция STR() используется для преобразования числа, состоящего из шести цифр и десятичной точки, в шестизначную строку символов с двумя десятичными знаками:
SELECT STR(123.456, 6, 2) result
Вот что получилось:
result ------ 123.46 (1 row affected)
Если длина числа превышает указанную длину, функция STR() возвращает «**», как показано в следующем примере:
SELECT STR(987.65,2,2) result;
Ниже показан результат:
result ------ ** (1 row affected)
Еще один пример недостаточной длины:
SELECT STR(987.65,1) result;
Вот что получилось:
result ------ * (1 row affected)
В этом руководстве вы узнали, как использовать функцию SQL Server STR() для преобразования числового значения в символьное.