github.com/wangyougui/gf/v2@v2.6.5/os/gtime/gtime_sql.go (about)

     1  package gtime
     2  
     3  import (
     4  	"database/sql/driver"
     5  )
     6  
     7  // Scan implements interface used by Scan in package database/sql for Scanning value
     8  // from database to local golang variable.
     9  func (t *Time) Scan(value interface{}) error {
    10  	if t == nil {
    11  		return nil
    12  	}
    13  	newTime := New(value)
    14  	*t = *newTime
    15  	return nil
    16  }
    17  
    18  // Value is the interface providing the Value method for package database/sql/driver
    19  // for retrieving value from golang variable to database.
    20  func (t *Time) Value() (driver.Value, error) {
    21  	if t == nil {
    22  		return nil, nil
    23  	}
    24  	if t.IsZero() {
    25  		return nil, nil
    26  	}
    27  	return t.Time, nil
    28  }