Nataraj Pandiyan Ответов: 2

Как суммировать столбец varchar


у меня есть 2 столбца в таблице

имя столбца тип данных varchar
сумма столбца-nvarchar

Наименование Сумма
Картикеян Р 11
Картикеян Р 51
Мухаммед Хусейн Т М 19
Миф V 37
Rangaraj C 145- $4358,14

я хочу суммировать сумму против имени. plz помогите мне

Что я уже пробовал:

и мне нужно ресут ниже

Name	Amount
Karthikeyan R	62
Mohammedhussain T M	19
Mythili V	37
Rangaraj C	145- $4358.14

2 Ответов

Рейтинг:
2

Peter Leow

Нет, не могу. Как вы рассчитываете получить сумму 145-4358,14 доллара? Во-первых, почему количество типа nvarchar? Это противоречит здравому смыслу. Каждое поле в таблице базы данных должно иметь правильный тип данных, соответствующий назначению, интерпретации и использованию его данных.
Измените его на правильный тип данных, которым он должен быть, ссылаясь на Общие типы данных SQL[^], в противном случае вы столкнетесь с абсурдной ситуацией, подобной этой, которая приводит к неловким манипуляциям SQL, которые очень неэффективны и ненужны.
Если тип данных правильный, вы можете легко получить то, что хотите:

SELECT name, SUM(amount) FROM tablename GROUP BY name


Рейтинг:
1

abhishekchadha

вы можете отлить колонну

sum(CASE WHEN ISNUMERIC(Amount)=1 THEN CAST(CAST(amount AS float) AS INT)END ) 



Обратитесь к этому -
SQL-запрос для суммирования значения nvarchar[^]