Nullable time.Time

后端 未结 4 1863
醉酒成梦
醉酒成梦 2020-12-08 00:26

I have a struct that I intend to populate with a database record, one of the datetime columns is nullable:

type Reminder struct {
    Id         int
    Crea         


        
4条回答
  •  生来不讨喜
    2020-12-08 01:16

    You can use pq.NullTime, or with Go 1.13, you can now use the standard library's sql.NullTime type.

    From lib/pq on github:

    type NullTime struct {
        Time  time.Time
        Valid bool // Valid is true if Time is not NULL
    }
    
    // Scan implements the Scanner interface.
    func (nt *NullTime) Scan(value interface{}) error {
        nt.Time, nt.Valid = value.(time.Time)
        return nil
    }
    
    // Value implements the driver Valuer interface.
    func (nt NullTime) Value() (driver.Value, error) {
        if !nt.Valid {
            return nil, nil
        }
        return nt.Time, nil
    }
    

提交回复
热议问题