Heim  >  Artikel  >  Backend-Entwicklung  >  Scannen Sie das SQL-Feld vom Typ DATE in das GO-Strukturfeld

Scannen Sie das SQL-Feld vom Typ DATE in das GO-Strukturfeld

王林
王林nach vorne
2024-02-09 08:18:09739Durchsuche

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

php-Editor Yuzai Das Scannen von SQL-Feldern vom Typ DATE in Go-Strukturfelder ist eine häufige Aufgabe, aber viele Entwickler stoßen beim Implementierungsprozess auf Schwierigkeiten. Beim Umgang mit Datumstypen müssen Sie die Datumsfelder in SQL den entsprechenden Feldern in der Go-Struktur zuordnen. Bei diesem Prozess müssen die Konvertierung des Datumsformats und der Umgang mit Situationen wie Nullwerten und ungültigen Daten berücksichtigt werden. In diesem Artikel wird eine einfache und effektive Methode vorgestellt, die Entwicklern dabei hilft, diese Aufgabe erfolgreich abzuschließen.

Frageninhalt

Ich habe eine Google-BigQuery, die ein Feld vom Typ DATE enthält, nicht DATETIME.

Wie kann man dieses Feld in Go auf die natürlichste Weise darstellen?

Ich habe es versucht:

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

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

Ich habe auch versucht, time.Time 类型的日期以及 sql.NullTime-Typen zu verwenden, und der gleiche Fehler wird auch für beide Typen angezeigt.

Ich kann online anscheinend nichts darüber finden, wie man einen einfachen Datumswert in ein Basisstrukturmitglied einfügt, ohne irgendeine Art von Zeichenfolgenformatierung.

Lösung

Bitte versuchen Sie escivil.Date

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

Aus der Go BigQuery-Dokumentation 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

Das obige ist der detaillierte Inhalt vonScannen Sie das SQL-Feld vom Typ DATE in das GO-Strukturfeld. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen