Как выбрать преобразование и сумму из базы данных? - PullRequest
0 голосов
/ 06 мая 2018

У меня есть тип данных столбца nvarchar, потому что я сохраняю тысячу разделителей с запятой, как 1,000,000.00. Теперь мне нужно выбрать преобразование и суммировать его в операторе выбора, затем отобразить группу по идентификатору в crystalreport .

Мое выбранное утверждение:

select id,productname,type,price,datesell,seller from tb_billdetail group by id

Здесь мне нужно, как преобразовать цену из nvarchar в тип double и суммировать ее после преобразования, но просто с помощью оператора select?

Что-то, что мне нужно отобразить в отчете о кристалле, например:

col_id     col_name     col_type     col_price     col_date 

**001**


001        fish         food          20,000.00    01/02/2018     
001        fish         food          10,000.00    10/02/2018

col_sum id 001: 30 000,00

следующий идентификатор группы 002 и 003 ....

1 Ответ

0 голосов
/ 06 мая 2018
Declare @tt table (name nvarchar(10), value nvarchar(10))
insert into @tt (name, value) values ('a', '1,000')
insert into @tt (name, value) values ('a', '1,10,000')
insert into @tt (name, value) values ('b', '2,000.4223')
insert into @tt (name, value) values ('b', '4,000.2')

select name, sum(cast(REPLACE(value,',','') as float)) as sum from @tt group by name

Не рекомендуется хранить с запятой отдельно, хранить как десятичное число. Если вы храните запятую для отображения, добавьте ее при отображении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...