dongyongyu0789 2018-02-21 05:56
浏览 902
已采纳

使用GORM在MySQL中获取NULL日期时间值

I want to fetch the last visit_details row having out_time as NULL using Gorm. NIL is itself a type where VisitDetail OutTime is mysql.NullTime.

Code:-

var visitDetail models.VisitDetail
db.Where("out_time=? ", nil).Last(&visitDetail)

//model VisitDetails
type VisitDetail struct {
    Id              int
    Visitor         Visitor  `gorm:"foreignkey:ClientId;association_foreignkey:Id"`
    VisitorId       int      `gorm:"not null;"`
    Location        Location `gorm:"foreignkey:LocationId;association_foreignkey:Id"`
    LocationId      int      `gorm:"not null;"`
    Purpose         string
    InTime          time.Time `gorm:"not null;"`
    OutTime         mysql.NullTime
    User            User `gorm:"foreignkey:ClientId;association_foreignkey:Id"`
    UserId          int  `gorm:"not null;"`
    Status          int  `gorm:"not null;"`
    ApproveByClient int  `gorm:"not null;"`
}

Query:-

select * from visit_details where out_time is NULL order by id desc limit 1;
+----+------------+-------------+---------+---------------------+----------+---------+--------+-------------------+
| id | visitor_id | location_id | purpose | in_time             | out_time | user_id | status | approve_by_client |
+----+------------+-------------+---------+---------------------+----------+---------+--------+-------------------+
| 20 |          1 |           8 |         | 2018-02-20 17:13:25 | NULL     |    1609 |      0 |                 0 |
+----+------------+-------------+---------+---------------------+----------+---------+--------+-------------------+
1 row in set (0.04 sec)
  • 写回答

3条回答 默认 最新

  • dongwen2896 2018-02-21 07:52
    关注

    Go doesn't recognize NULL in particular. I think you can achieve it using a raw query in GORM. like this.

    db.Raw("SELECT * FROM visit_details WHERE out_time is NULL order by id desc limit 1").Scan(&visitDetail)
    

    This is one one to fetch the column. Hope this helps.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 layui 代码问题解决
  • ¥15 TCP传输时不同网卡传输用时差异过大
  • ¥15 请各位看看我写的属于什么算法,或者有更正确的写法?
  • ¥15 html5 qrcode 扫描器
  • ¥15 爬取网页信息并保存需要完整代码
  • ¥15 一分十不等功分器阻设计问题,请问这个56Ω怎么得到的
  • ¥15 (标签-matlab)
  • ¥100 求看看这个数学建模,有偿
  • ¥15 深度学习目标检测现在框架加注意力的创新可以投几区?
  • ¥15 PdfiumViewer pdf转图片