В одной из таблиц, которые я пытаюсь сделать запрос, есть поле с типом decimal(38,19)
. Мне нужно преобразовать его в varchar
, чтобы мой модуль Perl DBI мог его обработать. Как мне написать преобразование в SQL, чтобы оно работало? В частности, если я запускаю это в SQL Server Management Studio:
select convert(varchar, 19040220000.0000000000000000000)
Я получаю:
Сообщение 8115, Уровень 16, Состояние 5, Строка 1
Ошибка арифметического переполнения при преобразовании чисел в тип данных varchar.
Сначала я попытался округлить число:
select convert(varchar, round(19040220000.0000000000000000000, 0))
но, похоже, это тоже не работает (то же сообщение об ошибке). На самом деле round()
, похоже, не влияет на это число по какой-то причине. Что я должен делать? Thx.