sql >> Database >  >> RDS >> PostgreSQL

Hoe kan ik tijd besparen in de database in Go bij gebruik van GORM en Postgresql?

Heb dit probleem verder onderzocht. Momenteel is er in GORM geen ondersteuning voor datum/tijd-typen, behalve timestamp with time zone

Zie dit deel van de code van dialect_postgres.go :

case reflect.Struct:
   if _, ok := dataValue.Interface().(time.Time); ok {
      sqlType = "timestamp with time zone"
}

Dus eigenlijk zie ik twee opties voor je:

Gebruik ofwel varchar(10) in DB, en string in Go, en sla het gewoon op als "21:00 uur" (waarbij 10 een nummer is dat bij je past)

Of gebruik timestamp with time zone in DB, time.Time in Go, en formatteer uw datumgedeelte als een constante datum, 01/01/1970, bijvoorbeeld:

time.Parse("2006-01-02 3:04PM", "1970-01-01 9:00PM")

In dat geval moet u het datumgedeelte in uw presentatie weglaten, maar als u van plan bent om op datumbereik te selecteren, kan dat beter voor u werken.



  1. Postgresql :Voeg element toe aan json array-objecten

  2. Moet ik echt mysql_close() doen

  3. Hoe maak en voer je een dynamische query uit in de opgeslagen procedure van Oracle?

  4. uniek toevoegen aan bestaande externe sleutel