code: func (nt *NullTime) Scan(value interface{}) error {
  	if value == nil {
  		nt.Time, nt.Valid = time.Time{}, false
  		return nil
  	}
  	switch value := value.(type) {
  	case time.Time:
  		nt.Time, nt.Valid = value, true
  	case []byte:
  		t, err := time.Parse("2006-01-02 15:04:05.999999", string(value))
  		if err != nil {
  			return err
  		}
  		nt.Time, nt.Valid = t, true
  	default:
  		return fmt.Errorf("unsupported time format: %T: %v", value, value)
  	}
  	return nil
  }
docs: // Scan implements the Scanner interface.