func (d *Datum) compareMysqlDuration(dur mysql.Duration) (int, error) { switch d.k { case KindMysqlDuration: return d.GetMysqlDuration().Compare(dur), nil case KindString, KindBytes: dDur, err := mysql.ParseDuration(d.GetString(), mysql.MaxFsp) return dDur.Compare(dur), err default: return d.compareFloat64(dur.Seconds()) } }