..."/> ...">
Maison >développement back-end >Golang >Comment analyser les données temporelles MySQL dans Golang ?
Analyse du temps MySQL dans Golang
Dans Golang, la récupération des données temporelles à partir de MySQL peut poser un défi, comme en témoigne l'erreur « pilote non pris en charge -> Scannez la paire : []uint8 -> *time.Time" lors de l'utilisation de l'extrait de code ci-dessous :
var my_time time.Time rows, err := db.Query("SELECT current_time FROM table") err := rows.Scan(&my_time)
Pour résoudre ce problème, pensez à utiliser le pilote go-sql-driver/mysql, qui offre la possibilité de convertir automatiquement les types de données DATE et DATETIME en time.Time. Ceci peut être réalisé en ajoutant parseTime=true à la chaîne de connexion, comme illustré ci-dessous :
db, err := sql.Open("mysql", "root:@/?parseTime=true")
Cependant, si vous avez spécifiquement besoin de current_time (plutôt que current_timestamp), vous devrez analyser manuellement les données temporelles. Vous trouverez ci-dessous deux approches pour y parvenir :
Type d'analyse de temps personnalisé
Créez un type personnalisé, rawTime, qui encapsule une tranche []byte et fournit un Time() méthode d'analyse du temps :
type rawTime []byte func (t rawTime) Time() (time.Time, error) { return time.Parse("15:04:05", string(t)) }
Dans votre code de numérisation, utilisez rawTime pour analyser automatiquement le current_time :
var myTime rawTime rows, err := db.Query("SELECT current_time()") if rows.Next() { if err = rows.Scan(&myTime); err != nil { panic(err) } } fmt.Println(myTime.Time())
Analyse manuelle de l'heure
Au lieu de vous fier à un type personnalisé, vous pouvez analyser manuellement les données temporelles :
var myTime string rows, err := db.Query("SELECT current_time()") if rows.Next() { if err = rows.Scan(&myTime); err != nil { panic(err) } } parsedTime, err := time.Parse("15:04:05", myTime) if err != nil { panic(err) } fmt.Println(parsedTime)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!