Когда Select заменяет запятую на точку с усеченными значениями - PullRequest
0 голосов
/ 21 декабря 2018

Я пытаюсь преобразовать столбец varchar, в котором десятичный разделитель равен ','.Обходным путем было заменить запятую на точку, но SQL Server автоматически округляет ее.Пример ниже:

2018-10-08 -8679.95 -8679,94711560794

select DATA, REPLACE([PL]*1,',','.') , PL from TB_BOOK 

Пожалуйста, кто-нибудь знает Как можно получить значение со всеми десятичными знаками?

1 Ответ

0 голосов
/ 21 декабря 2018

Ваш подход к замене , на . в порядке.

Однако поверх него вам нужно явно CAST строка до числа с достаточным количеством знаков после запятой (FLOAT, DECIMAL(p, s), ...).

SELECT DATA, CAST(REPLACE([PL],',','.')  AS FLOAT), PL from TB_BOOK 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...