diff --git a/db/db.go b/db/db.go index a674241..0615500 100644 --- a/db/db.go +++ b/db/db.go @@ -100,6 +100,14 @@ func ConvertToSQLParams(input interface{}, output interface{}) { outputField.Set(reflect.ValueOf(sql.NullInt64{Int64: inputField.Int(), Valid: true})) } + case reflect.TypeOf(sql.NullFloat64{}): + // Handle sql.NullFloat64 + if inputField.Float() == 0 { + outputField.Set(reflect.ValueOf(sql.NullFloat64{Valid: false})) + } else { + outputField.Set(reflect.ValueOf(sql.NullFloat64{Float64: inputField.Float(), Valid: true})) + } + case reflect.TypeOf(""): // Handle normal string fields if inputField.Kind() == reflect.Ptr && inputField.IsNil() { @@ -112,6 +120,10 @@ func ConvertToSQLParams(input interface{}, output interface{}) { // Handle normal int64 fields outputField.SetInt(inputField.Int()) + case reflect.TypeOf(float64(0)): + // Handle normal float64 fields + outputField.SetFloat(inputField.Float()) + } } }