【问题标题】:How can I filter data with an 'int64' type column?如何过滤具有“int64”类型列的数据?
【发布时间】:2021-12-10 15:09:28
【问题描述】:
我得到大量数据并将它们序列化为一个结构体,其中包含一个 Int64 类型的字段“Create_time”,例如:
type Log struct {
ID int `mapstructure:"id"`
Create_time int64 `mapstructure:"create_time,omitempty"`
}
现在如果我想过滤 2021-10-24 00:00:00 和 2021-10-25 00:00:00 之间的数据,我该怎么做?
【问题讨论】:
标签:
mysql
datetime
go
go-gorm
【解决方案1】:
假设Create_time是使用Time.Unix()得到的,则可以找到该范围的Unix表示,然后进行过滤:
from:=time.Date(2021,10,24,0,0,0,0,time.Local).Unix()
to:=time.Date(2021,10,25,0,0,0,0,time.Local).Unix()
然后找到所有带有Create_time>=from && Create_time<=to的元素。
对时区进行必要的更改。如果Create_time 是毫秒/微/纳秒,则使用UnixMilli、UnixMicro 或UnixNano。