Cara Menghuraikan Masa daripada Pangkalan Data: Mengapakah saya mendapat ralat 'pemacu tidak disokong -> Pasangan imbasan: []uint8 -> *masa.Masa'?

Patricia Arquette
Lepaskan: 2024-11-12 20:03:02
asal
774 orang telah melayarinya

How to Parse Time from a Database:  Why am I getting the Imbas pasangan: []uint8 -> *time.Time" ralat? " /> Imbas pasangan: []uint8 -> *time.Time" ralat? " />

Masa Menghurai daripada Pangkalan Data: Penyelesaian Masalah dan Penyelesaian

Apabila bekerja dengan pangkalan data, adalah perkara biasa untuk menghadapi ralat semasa cuba mendapatkan data. Dalam kes khusus ini, mesej ralat "tidak disokong pemandu -> Pasangan imbasan: []uint8 -> *time.Time" menunjukkan bahawa pemacu pangkalan data tidak dapat menukar data yang diambil secara automatik (dalam kes ini, tatasusunan bait) kepada masa. Nilai masa.

Untuk membetulkan isu ini, seseorang boleh menggunakan parseTime parameter dalam rentetan sambungan. Menetapkan parseTime=true mengarahkan pemandu untuk menghuraikan nilai DATE dan DATETIME MySQL secara automatik ke dalam objek masa.

Contoh:

db, err := sql.Open("mysql", "root:@/?parseTime=true")
Salin selepas log masuk

Dengan mendayakan parseTime, pemandu akan menukar nilai masa dengan lancar, membenarkan penetapan terus kepada masa. Pembolehubah masa.

Contoh dengan Pernyataan SQL:

var myTime time.Time
rows, err := db.Query("SELECT current_timestamp()")
Salin selepas log masuk

Nota: Pendekatan ini berfungsi dengan current_timestamp tetapi bukan current_time Jika anda memerlukan penghuraian data semasa_masa, anda perlu melaksanakan mekanisme penghuraian tersuai.

Penghuraian Tersuai:

    Tentukan jenis tersuai yang membalut jenis data asal untuk mengendalikan penghuraian:
type rawTime []byte

func (t rawTime) Time() (time.Time, error) {
    return time.Parse("15:04:05", string(t))
}
Salin selepas log masuk
    Gunakan jenis tersuai dalam kod imbasan:
var myTime rawTime
rows, err := db.Query("SELECT current_time()")
Salin selepas log masuk
    Dapatkan semula masa yang dihuraikan.Nilai masa menggunakan kaedah tersuai:
fmt.Println(myTime.Time())
Salin selepas log masuk
Dengan mengikut langkah ini, anda boleh menghuraikan nilai masa dengan berkesan daripada pangkalan data dan mengendalikan format data yang berbeza dengan mudah.

Atas ialah kandungan terperinci Cara Menghuraikan Masa daripada Pangkalan Data: Mengapakah saya mendapat ralat 'pemacu tidak disokong -> Pasangan imbasan: []uint8 -> *masa.Masa'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan