记录一次gorm查询无数据无报错

sql := "select user_id,add_time,page_name from pv_zsjpv_2022_5 where " +
		" add_time between ? and ? and user_id=? and product_key=? limit ?,?"

	var params []interface{}
	params = append(params, "2022-05-01 00:00:00")
	params = append(params, "2022-05-05 01:00:00")
	params = append(params, "8230004303622879")
	params = append(params, "chess")
	params = append(params, 1)
	params = append(params, 10)

	var data =make([]map[string]interface{},0)
	e:=db.Raw(sql,params...).Scan(&data).Error
	if e!=nil {
		fmt.Println("e=",e.Error())
	}else{
		fmt.Println(data)
	}

上面的sql语句是可以执行的,可以看看下面的sql语句,与上面一点点的变化

db := dbConns["wi_pv"]
sql := "select user_id,add_time,page_name from pv_zsjpv_2022_5 where " +
	" add_time between ? and ? and user_id=? and product_key=? limit ?,?"

var params []interface{}
var startTime,_=cast.StringToDate("2022-05-01 00:00:00")
var enTime,_=cast.StringToDate("2022-05-05 00:00:00")
params = append(params, startTime)
params = append(params, enTime)
params = append(params, "8230004303622879")
params = append(params, "chess")
params = append(params, 1)
params = append(params, 10)

var data =make([]map[string]interface{},0)
e:=db.Raw(sql,params...).Scan(&data).Error
if e!=nil {
	fmt.Println("e=",e.Error())
}else{
	fmt.Println(data)
}

对于interface类型,作为万能参数,但是遇到time类型时就不行了,这时候我试着打印执行语句,也没问题,就是没结果也没报错。换上面的第一种就可以了。

以下为sql打印日志

2022/05/16 18:45:45 D:/mywork/wiinterface_cqgd-local-zsj/area/app_start.go:197 SLOW SQL >= 50ms
[125.000ms] [rows:1] select count(*) from pv_zsjpv_2022_5 where  add_time between '2022-05-01 00:00:00' and '2022-05-05 01:00:00'   and user_id='8230004303622879' and product_key='chess'
2022-05-16 18:45:45.702 [info] [request] [status:200/0000] [exc_time:1924.00 ms] [middleware_logfile.go(wiweb.MiddlewareLogToFile):93] [route:/getPV]  >>> info={"content_type":"","method":"GET","render_type":"JSON","req_data":{"end_time":["2022-05-05 01:00:00"],"num":["10"],"page":["1"],"product":["chess"],"start_time":["2022-05-01 00:00:00"],"userid":["8230004303622879"]},"req_ip":"127.0.0.1","req_uri":"http://127.0.0.1:8111/getPV?product=chess&userid=8230004303622879&start_time=2022-05-01%2000:00:00&end_time=2022-05-05%2001:00:00&page=1&num=10"}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值