分享
【go-pgsql相关问题】 报错信息【q: M:"函数 money(unknown) 不是唯一的" H:"无法选择最佳候选函数. 你也许需要增加明确的类型转换." L:"506" R:"ParseFuncOrColumn" F:"par】
tianlijun · · 2808 次点击 · 开始浏览 置顶这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

sql语句 【
```
select * from books where price BETWEEN money(10)and money(100)
```
】

相关代码【
```
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驱动调用的方式,传入的只是占位符,所以驱动识别不出应该使用哪个具体的函数
】
求解决方案【
等待大佬解答
】
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信2808 次点击
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传