Как преобразовать varchar в десятичное (38,2)? - PullRequest
0 голосов
/ 07 апреля 2020

У меня проблема с преобразованием из varchar '000000113754' в десятичное 1137.54

Я сравниваю два выражения:

1. select STUFF('000000113754', LEN('000000113754') - 1, 0, '.')

2. select STUFF([dbo].fn_PrepareNumeric(('000000113754' + '-'), '+','-'), LEN('000000113754') - 1, 0, '.')

Функция fn_PrepareNumeric просто проверяет знак и добавляет «-» впереди, если знак -. Вот и все.

Проблема в том, что первое выражение дает мне правильный varchar - 0000001137.54, а второе - нет: -000000113.754

Не можете понять, почему?

...