[Question]对于时间戳格式的数据库字段如何转换为日期格式
问题描述 [详细地描述问题,让大家都能理解]
当前,有一数据表中包含add_time字段,格式为bigint,按照时间戳进行存储的,如:1603963075 而在数据表格中,需要使用到日期格式,如:2020-10-29 17:00,请问如何进行转换,我尝试通过 FieldDisplay方法进行转换,但觉得这不是最好方案,要么在数据库查询的时候使用 FROM_UNIXTIME 函数转换
扩展问题:同理,如果我想对查询的数据字段进行一些额外的sql语句处理,请问有其他什么方法吗,谢谢
示例代码 [如果有必要,展示代码,线上示例,或仓库]
info.AddField("Create_time", "create_time", db.Int).
FieldDisplay(func(value types.FieldModel) interface{} {
//转换时间戳格式
rv := ChangeToData(value.Value)
return rv
})
其他信息 [如截图等其他信息可以贴在这里]
Q2: 扩展问题:同理,如果我想对查询的数据字段进行一些额外的sql语句处理,请问有其他什么方法吗,谢谢 A2: info := userTable.GetInfo().Where("bid", "=", 2)
Q2: 扩展问题:同理,如果我想对查询的数据字段进行一些额外的sql语句处理,请问有其他什么方法吗,谢谢 A2: info := userTable.GetInfo().Where("bid", "=", 2)
我的意思是指类似这样的语句:select id,name,FROM_UNIXTIME(time) as date from a where id = 1;
FROM_UNIXTIME(time) as date 使用到了 mysql 的将时间戳转换为日期格式的函数,这种需要怎么办?
Q2: 扩展问题:同理,如果我想对查询的数据字段进行一些额外的sql语句处理,请问有其他什么方法吗,谢谢 A2: info := userTable.GetInfo().Where("bid", "=", 2)
我的意思是指类似这样的语句:select
id,name,FROM_UNIXTIME(time) as date from a where id = 1; FROM_UNIXTIME(time) as date 使用到了 mysql 的将时间戳转换为日期格式的函数,这种需要怎么办?
反过来可以用SetQueryFileterFn函数进行过滤处理, 如:
info.SetQueryFilterFn(func(param parameter.Parametersm, conn db.Connection) (ids []string, stopQuery bool) {
param.Fields["edit_timestamp_start__goadmin"] = []string{strconv.FormatInt(1603963075, 10)}
return []string{}, true
}