вычисление суммы типа данных varchar в таблице данных - PullRequest
1 голос
/ 13 марта 2012

Может ли кто-нибудь, пожалуйста, помогите мне вычислить сумму столбца типа данных varchar в таблице данных.

Я уже пробовал это:

Int32 omarks = Convert.ToInt32(dt.Compute("Sum(Convert(Marks, 'System.Int32'))", ""));
tbobtained.Text = omarks.ToString();

Но я получаю эту ошибку:

Синтаксическая ошибка в агрегированном аргументе: ожидание одного столбца аргумент с возможным дочерним квалификатором.

Я буду благодарен тому, кто поможет мне в этом.

Ответы [ 3 ]

1 голос
/ 13 марта 2012

Вы можете использовать CAST:

SELECT sum(CAST(MyVarcharCol AS INT)) FROM Table
1 голос
/ 14 марта 2012

На основании MSDN вы пробовали:

Int32 omarks = Convert.ToInt32(dt.Compute("Sum(Marks)", ""));
tbobtained.Text = omarks.ToString();

Критерий состоит в том, что DataColumn Marks должен быть определен как Int32.Первый параметр Compute поддерживает условия агрегирования, но не вызов Convert , который вы выполняете в методе Compute.

1 голос
/ 13 марта 2012

Похоже, ) отсутствует для Sum

Сумма (Преобразовать (Marks, 'System.Int32') )

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