Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Imbas medan sql jenis DATE ke dalam medan go struct

Imbas medan sql jenis DATE ke dalam medan go struct

王林
王林ke hadapan
2024-02-09 08:18:09743semak imbas

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

editor php Yuzai Mengimbas medan sql jenis DATE ke dalam medan go struct ialah tugas biasa, tetapi ramai pembangun menghadapi kesukaran dalam proses pelaksanaan. Apabila berurusan dengan jenis tarikh, anda perlu memetakan medan tarikh dalam sql dengan medan yang sepadan dalam go struct. Proses ini memerlukan pertimbangan penukaran format tarikh dan cara mengendalikan situasi seperti nilai nol dan tarikh tidak sah. Artikel ini akan memperkenalkan kaedah yang mudah dan berkesan untuk membantu pembangun berjaya menyelesaikan tugas ini.

Kandungan soalan

Saya mempunyai bigquery google yang mempunyai medan jenis DATE, bukan DATETIME.

Bagaimana untuk mewakili bidang ini dengan cara yang paling semula jadi dalam Go?

Saya dah cuba:

type Record {
    Date  string `bigquery:"the_date"`
}

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

Saya juga telah mencuba menggunakan time.Time 类型的日期以及 sql.NullTime jenis dan ralat yang sama ditunjukkan untuk kedua-dua jenis ini juga.

Saya nampaknya tidak dapat mencari apa-apa dalam talian tentang meletakkan nilai tarikh ringkas ke dalam ahli struct asas tanpa beberapa jenis pemformatan rentetan.

Penyelesaian

Sila cubacivil.Date

type Record {
    Date  civil.Date `bigquery:"the_date"`
}

Dari dokumentasi Go BigQuery p>

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

Atas ialah kandungan terperinci Imbas medan sql jenis DATE ke dalam medan go struct. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam