![QQ图片20200603232924.png](https://static.studygolang.com/200603/3ddb33ea75fbb7af7ccac19346103532.png)
sql语句 【
```
select * from books where price BETWEEN money(10)and money(100)
```
】
![QQ图片20200603232931.png](https://static.studygolang.com/200603/788890979d9dd398e86e622c4a6a75bd.png)
相关代码【
```
pageNo string, min string, max string
sqlStr := "select count(*) from books where price BETWEEN money($1) and money($2);"
var totalRecord int64
var pageSize int64
var TotalPageNo int64
row := utils.Db.QueryRow(sqlStr, min, max)
row.Scan(&totalRecord)
```
】
驱动模块【
```
import (
"database/sql"
_ "github.com/bmizerany/pq"
)
```
】
个人分析 【
原因主要是 money 函数在pgsql中属于重载函数,它共有三种函数分别是money(int4)、money(int8)、money(numeric)
主要通过传入的值的类型来区分具体使用的函数。
通过go驱动调用的方式,传入的只是占位符,所以驱动识别不出应该使用哪个具体的函数
】
求解决方案【
等待大佬解答
】
有疑问加站长微信联系(非本文作者)