【踩坑】Gorm将自定义SQL语句查询结果映射为时间类型时报错

前言

Gorm将自定义SQL语句查询结果映射为时间类型时报错:unsupported Scan, storing driver.Value type []uint8 into type *time.Time

解决问题

  • 先映射为字符串,再手动转换为时间类型
1
2
3
4
5
6
7
var resultString string
var resultTime time.Time

db.Raw("SELECT created_at FROM table WHERE id = 1").Scan(&resultString)

res, err := time.Parse("2006-01-02 15:04:05", resultString)
resultTime = res

完成

参考文献

CSDN——人类观察所主任