Как заставить функцию SUM возвращать целое число вместо строки в SQLITE (Sqflite)? - PullRequest
0 голосов
/ 12 апреля 2019

Все работает нормально, за исключением того, что моя функция Sum возвращает странную строку, а не просто число.

Здесь функция извлечения итога из столбца в базе данных:

  Future getTotal () async {
var dbClient = await db;
var result = await dbClient.rawQuery(
    "SELECT SUM(columnName) FROM tableName");
     return result.toString();
    }

getTotal() возвращает это: "[{SUM(columnName): 220}]"

Я хочу, чтобы он возвратил только это: 220

Как мне этого добиться?

1 Ответ

1 голос
/ 12 апреля 2019

Поскольку rawQuery() возвращает List<Map>, вам придется использовать

Future getTotal() async {
  var dbClient = await db;
  var result = await dbClient.rawQuery("SELECT SUM(columnName) FROM $tableScorer");
  int value = result[0]["SUM(columnName)"]; // value = 220
  return result.toString();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...