39 lines
779 B
Go
39 lines
779 B
Go
package lzUtils
|
|
|
|
import (
|
|
"database/sql"
|
|
"time"
|
|
)
|
|
|
|
// StringToNullString 将 string 转换为 sql.NullString
|
|
func StringToNullString(s string) sql.NullString {
|
|
return sql.NullString{
|
|
String: s,
|
|
Valid: s != "",
|
|
}
|
|
}
|
|
|
|
// NullStringToString 将 sql.NullString 转换为 string
|
|
func NullStringToString(ns sql.NullString) string {
|
|
if ns.Valid {
|
|
return ns.String
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// TimeToNullTime 将 time.Time 转换为 sql.NullTime
|
|
func TimeToNullTime(t time.Time) sql.NullTime {
|
|
return sql.NullTime{
|
|
Time: t,
|
|
Valid: !t.IsZero(), // 仅当 t 不是零值时才设置为有效
|
|
}
|
|
}
|
|
|
|
// NullTimeToTime 将 sql.NullTime 转换为 time.Time
|
|
func NullTimeToTime(nt sql.NullTime) time.Time {
|
|
if nt.Valid {
|
|
return nt.Time
|
|
}
|
|
return time.Time{} // 返回零值时间
|
|
}
|