PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak zaoszczędzić czas w bazie danych w Go, korzystając z GORM i Postgresql?

Zbadano tę kwestię dalej. Obecnie GORM nie obsługuje żadnych typów daty/godziny z wyjątkiem timestamp with time zone

Zobacz tę część kodu z dialect_postgres.go :

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

Więc w zasadzie widzę dla ciebie dwie opcje:

Użyj varchar(10) w DB i string w Go, po prostu zapisz go jako „21:00” (gdzie 10 to jakaś liczba, która Ci odpowiada)

Lub użyj timestamp with time zone w DB, time.Time w Go i sformatuj część daty jako stałą datę, 01.01.2070, na przykład:

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

W takim przypadku musisz pominąć w prezentacji część dotyczącą daty, ale jeśli planujesz wybrać według zakresu dat, może to być dla Ciebie lepsze.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gęsta_ranking pierwsza konwersja Oracle do Postgresql

  2. Różnica sygnatury czasowej w godzinach dla PostgreSQL

  3. BeanCreationException:Błąd podczas tworzenia fasoli o nazwie „flywayInitializer”

  4. Symfony2 Doctrine - klauzula ILIKE dla PostgreSQL?

  5. Przewodnik po partycjonowaniu danych w PostgreSQL