mysql中date/datetime类型自动转go的时间类型time.Time

在DSN中需要加入parseTime=true&&loc=Local,或
charset=utf8mb4&loc=Asia%2FShanghai&parseTime=true

go 复制代码
package main_test

import (
	"database/sql"
	"fmt"
	"testing"
	"time"

	_ "github.com/go-sql-driver/mysql"
)

func TestMysqlDatetime(t *testing.T) {

	type Student struct {
		CreateAt time.Time
	}

	db, _ := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/test?parseTime=true&&loc=Local")
	rows, _ := db.Query("SELECT create_at FROM `student`")
	defer rows.Close()
	var student Student
	for rows.Next() {
		err := rows.Scan(&student.CreateAt)
		if err != nil {
			fmt.Printf("scan failed, err:%v\n", err)
			return
		}
		fmt.Println("student.CreateAt:", student.CreateAt.Format("2006-01-02 15:04:05"))
	}
}

参考

https://github.com/go-sql-driver/mysql#timetime-support

相关推荐
@insist1234 小时前
信息安全工程师-数据库安全全体系解析与最佳实践
数据库·安全·软考·信息安全工程师·软件水平考试
_ku_ku_5 小时前
数据库系统原理 · 事务管理与恢复 · 自学总结
数据库·oracle
lifewange6 小时前
Redis 集合(Set)运算完全指南
数据库·chrome·redis
TDengine (老段)7 小时前
TDengine RAFT共识协议 — 选举、日志复制、快照与仲裁
android·大数据·数据库·物联网·架构·时序数据库·tdengine
Full Stack Developme7 小时前
Spring Boot 事务管理完整教程
java·数据库·spring boot
m0_702036539 小时前
mysql如何通过索引减少行锁范围_mysql索引与加锁逻辑
jvm·数据库·python
qxwlcsdn9 小时前
如何用 IndexedDB 存储从 API 获取的超大列表并实现二级索引
jvm·数据库·python
phltxy9 小时前
Redis 主从复制
java·数据库·redis
2301_8092445310 小时前
C#怎么使用协变和逆变 C#泛型中的in和out关键字协变逆变是什么意思怎么用【语法】
jvm·数据库·python
知识汲取者10 小时前
巨量引擎营销 API 完整文档
开发语言·数据库·python