sql >> データベース >  >> RDS >> PostgreSQL

GORMとPostgresqlを使用するときにGoのデータベースで時間を節約するにはどうすればよいですか?

    この問題をさらに調査しました。現在、GORMでは、timestamp with time zone以外の日付/時刻タイプはサポートされていません。

    dialect_postgres.go のコードのこの部分を参照してください :

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

    つまり、基本的に2つの選択肢があります。

    varchar(10)を使用する DB内、およびstring Goでは、単に「9:00 PM」として保存します(10はあなたに合った数字です)

    または、timestamp with time zoneを使用します DBでは、time.Time Goで、日付部分を1970年1月1日の一定の日付としてフォーマットします。例:

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

    その場合、プレゼンテーションの日付部分を省略する必要がありますが、日付範囲で選択する場合は、それがより適切に機能する可能性があります。



    1. アクセント付きのバッチファイルでSQLスクリプトを実行する

    2. 複数のサーバーでmysql-serverdockerコンテナーを使用してMySQLクラスターを作成する

    3. SQL開発者のデータ挿入エラー

    4. SQLServerでユーザー定義関数を暗号化する方法