【发布时间】:2016-01-09 03:00:39
【问题描述】:
我正在尝试使用带有 mysql 的 gorp 库运行以下查询
query = "SELECT SUM(outputoctets) FROM monthlyacct where date >= ? AND date < ? AND location = ?"
count, err := dbMap.SelectInt(query , constrains.From, constrains.To, constrains.LocationId)
此查询引发以下错误,
列索引 0 上的扫描错误:将字符串 \"\u003cnil\u003e\" 转换为 a int64: strconv.ParseInt: 解析\"\u003cnil\u003e\": 无效语法
这里的列输出字节是 BIGINT 类型。我也试过把SelectInt改成SelectStr,然后报错了;
列索引 0 上的扫描错误:不支持的驱动程序 -\u003e 扫描对: \u003cnil\u003e -\u003e *字符串
当我在没有位置过滤器的情况下运行查询时,它起作用了。似乎这是由于位置列中存在一些 NULL 值。但是我需要对查询进行位置过滤器。我该如何解决这个问题?
【问题讨论】:
-
MySQL 为查询输出什么?
-
总是一个数字 SUM(outputoctets)
-
SUM() 如果没有匹配的行,则返回 NULL