首页 > 后端开发 > Golang > 正文

将DATE类型的sql字段扫描到go struct字段中

王林
发布: 2024-02-09 08:18:09
转载
740 人浏览过

将DATE类型的sql字段扫描到go struct字段中

php小编鱼仔将DATE类型的sql字段扫描到go struct字段中是一个常见的任务,但却有许多开发者在实现过程中遇到困难。在处理日期类型时,需要将sql中的日期字段与go struct中的相应字段进行映射。这个过程需要考虑日期格式的转换,以及如何处理空值和无效日期等情况。本文将介绍一种简单而有效的方法,帮助开发者顺利完成这一任务。

问题内容

我有一个 google bigquery,它有一个 DATE 类型字段,而不是 DATETIME。

如何在 Go 中以最自然的方式表示这个字段?

我已经尝试过:

type Record {
    Date  string `bigquery:"the_date"`
}
登录后复制

在执行 schema 字段的 <code>iterator.Next(&record) 时出现错误,类型 DATE 的 the_date 无法分配给结构字段 Date of type string

我还尝试过使用 time.Time 类型的日期以及 sql.NullTime 类型,并且对于这些类型也都显示相同的错误。

我似乎无法在网上找到任何关于在没有某种字符串格式的情况下将简单日期值放入基本结构成员中的内容。

解决方法

请尝试civil.Date

type Record {
    Date  civil.Date `bigquery:"the_date"`
}
登录后复制

来自 Go BigQuery 文档

STRING      string
BOOL        bool
INTEGER     int, int8, int16, int32, int64, uint8, uint16, uint32
FLOAT       float32, float64
BYTES       []byte
TIMESTAMP   time.Time
DATE        civil.Date
TIME        civil.Time
DATETIME    civil.DateTime
NUMERIC     *big.Rat
BIGNUMERIC  *big.Rat
登录后复制

以上是将DATE类型的sql字段扫描到go struct字段中的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:stackoverflow.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板