sql >> Databáze >  >> RDS >> PostgreSQL

Jak ušetřit čas v databázi v Go při používání GORM a Postgresql?

Tento problém dále zkoumal. V současné době není v GORMu podporováno žádné datum/čas kromě timestamp with time zone

Podívejte se na tuto část kódu z dialect_postgres.go :

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

Takže v zásadě pro vás vidím dvě možnosti:

Buď použijte varchar(10) v DB a string v Go to jednoduše uložte jako „21:00“ (kde 10 je nějaké číslo, které vám vyhovuje)

Nebo použijte timestamp with time zone v DB, time.Time v Go a naformátujte část data jako konstantní datum, například 01/01/1970, například:

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

V takovém případě budete muset v prezentaci vynechat část s datem, ale pokud plánujete výběr podle období, mohlo by to pro vás fungovat lépe.



  1. ERROR 2006 (HY000):Server MySQL odešel

  2. MySql.Data v GAC, stále SecurityException

  3. Existuje obecné řešení pro vyjádření odvozeného seznamu sloupců v Oracle (a MySQL)?

  4. Jaký je význam <> v dotazu mysql?