当前位置: 首页 > 面试题库 >

如何从数据库解析时间

缪朝
2023-03-14
问题内容

我正在使用golang,并且尝试从mysql读取时间,并且遇到以下错误。

var my_time time.Time
rows, err := db.Query("SELECT current_time FROM table")
err := rows.Scan(&my_time)

我得到的错误是

 unsupported driver -> Scan pair: []uint8 -> *time.Time

我怎样才能解决这个问题?


问题答案:

假设您正在使用,则go-sql- driver/mysql可以time.Time通过添加parseTime=true到连接字符串中来要求驱动程序将DATE和DATETIME自动扫描到。

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

示例代码:

db, err := sql.Open("mysql", "root:@/?parseTime=true")
if err != nil {
    panic(err.Error()) // Just for example purpose. You should use proper error handling instead of panic
}
defer db.Close()

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

if rows.Next() {
    if err = rows.Scan(&myTime); err != nil {
        panic(err)
    }
}

fmt.Println(myTime)

请注意,这适用于,current_timestamp但不适用于current_time。如果必须使用current_time,则需要自己进行解析。

这是您进行自定义分析的方式:

首先,我们定义一个自定义类型包装[] byte,它将自动解析时间值:

type rawTime []byte

func (t rawTime) Time() (time.Time, error) {
    return time.Parse("15:04:05", string(t))
}

在扫描代码中,我们只是这样做:

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())


 类似资料:
  • 我一直在努力解决这个问题,无法使用以下代码解析firebase实时数据库中的数据。我什么都试过了,但我做不到。下面是必要文件的代码。我正在使用提供程序进行状态管理。 我的供应商代码: 我调用的小部件: 我的模型课: 我得到以下错误: 如果有人能帮忙,我将非常感激,它已经调试了很长时间...

  • 问题内容: 如何使用python从.pcap文件或接口解析数据包? 我特别在寻找使用记录良好的库的解决方案。 问题答案: 尝试scapy。它是用于数据包检查,处理和创建的功能非常强大的程序。 您可以使用它来构建自己的工具。

  • firebase数据库最近的更新似乎有一些变化。我的项目在firebase\u数据库:^7.0.0版本下运行良好,但在firebase数据库的更新版本中,我无法更新项目代码。 以下是v7的工作版本 firebase\u数据库^9.0.12上的同一代码出现错误。我收到的错误在`(DataSnapShot snap)async{…}上错误是 无法将参数类型“Future Function(DataSn

  • 问题内容: 我有以上述格式给出的.Data文件。我正在用Java编写程序,该程序将从.data文件中获取值并将其放入缓冲区中。我的Java程序通过JDBC连接到Mysql(windows)。所以我需要从上述格式的文件中读取值,并将其放入缓冲区 这样,我将存储这些值,并且jdbc将填充Mysql(windows)上的数据库表。请告诉我最好的方法。 问题答案: 查看此问题的答案,以读取文件行并将其拆分

  • 问题内容: 我正在尝试将数据从一个数据库复制到另一个数据库。一切工作正常,直到修改了源数据库中的一行之一(下面的堆栈跟踪)。按预期将新行添加到目标数据库。 对于每个数据库连接(mysql和hsqldb),我都有一个由以下bean组成的上下文文件: 在我为每个数据库连接中创建一个: 很简单: 我正在使用Spring Integration将2种服务方法连接在一起。服务方法如下: 我尝试过从s 分离列

  • 我正在尝试读取我的Flutter应用程序中的firebase实时数据库中的数据,并将其分配给模型类,但是,我在控制台中得到了以下错误。 下面是我到目前为止所做的代码 员工类别 我不知道我做错了什么,请帮我解决这个问题