【发布时间】:2021-01-04 19:41:05
【问题描述】:
我正在尝试使用 golang 将 DateTime 值插入到 MS SQL 表中。 SQL表是这样的结构:
CREATE TABLE dbo.TimeSample (
ModifiedDate datetime
);
我的golang代码是这样的:
func timeSample(db *sql.DB) (error) {
ctx := context.Background()
var err error
t := time.Now().Format(time.RFC3339)
fmt.Println(t)
tsql := fmt.Sprintf("INSERT INTO [dbo].[TimeSample] ([ModifiedDate]) VALUES ('%s');",time.Now().Format(time.RFC3339))
// Execute non-query
result, err := db.ExecContext(ctx, tsql)
if err != nil {
log.Fatal("Error inserting new row: " + err.Error())
return err
}
fmt.Println(result)
return nil
}
尝试插入时出现以下错误:
2018-04-20T10:39:30-05:00 2018/04/20 10:39:30 插入新行时出错:mssql:从字符串转换日期和/或时间时转换失败。 退出状态 1
关于我应该如何格式化它以适用于 MS SQL 的任何想法?
【问题讨论】:
-
只需使用参数化 SQL 并让驱动程序负责转换。
标签: go