当前位置: 首页 > 面试题库 >

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

洪楷
2023-03-14
问题内容

我想NULL使用Gorm 来获取具有out_time的最后一个visit_details行。 NIL本身就是VisitDetail
OutTime为的类型mysql.NullTime

码:-

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;"`
}

查询:

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)

问题答案:

Go不能特别识别NULL。我认为您可以使用GORM中的原始查询来实现。像这样。

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

这是一个获取专栏的文章。希望这可以帮助。



 类似资料:
  • 问题内容: 是否可以在手动查询中使用诸如DATETIME之类的值或命令来插入当前日期和时间? 末尾引用的DATETIME值是我要添加当前日期和时间的位置。 问题答案: 您可以使用:

  • 问题内容: 在MySql数据库中有表 我的问题是,我要传递开始日期和结束日期,然后我将获得列日期,例如: 那么我将获得101,102,103 UserId的值。但是我出错了 问题答案: 这可能会更好: 也可能是保留字,对此不太确定。如果是这种情况,则您需要在其周围加反引号(前后应有一个`)

  • 我想用python获得今天的时间戳,我尝试了这个错误

  • 问题内容: 我在Objective-C中使用和获取应用程序的构建日期和时间。我找不到在Swift中获取此信息的方法。可能吗? 问题答案: 您可以使用,和。 原始答案: 在您的项目中创建一个新的Objective-C文件,当Xcode询问时,对创建桥接标头说是。 在这个新的Objective-C文件中,添加以下文件: 并在实现这些功能中: 现在转到桥接头并导入我们创建的。 现在回到您的任何Swift

  • 问题内容: 我有一个可在JavaScript中显示当前日期和时间的脚本,但这始终是错误的。这是代码: 它应该打印并打印 有什么帮助吗?谢谢 问题答案: 返回一个从零开始的数字,以便获得正确的月份,您需要将其加1,因此调用in可能会返回而不是。 因此,在您的代码中,我们可以用来输出正确的值。此外: 返回月中的某天 < -这是您想要的*那一天 * 是对象的单独方法,它将返回代表星期几(0-6)等的整数

  • 问题内容: 用Java获取当前日期/时间的最佳方法是什么? 问题答案: 这取决于你想要的日期/时间形式: 如果你想将日期/时间作为一个单一的数值,则可以用UNIX纪元后的毫秒数(以Java形式)表示。该值是UTC时间点的增量,并且与本地时区无关…假设系统时钟已正确设置。 如果你希望日期/时间的格式允许你以数字方式访问组件(年,月等),则可以使用以下方式之一: 给你一个Date使用当前日期/时间初始