我正在使用OdbcDataReader从mysql表读取时间戳。当我查看表中的数据时,其格式为2013-09-12 11:11:09。但是读者似乎以12/09/2013 11:11:09格式阅读它。

然后,我尝试将其插入另一个mysql表,但收到错误:


  datetime值不正确:“ timestamp”列为“ 12/09/2013 11:11:09”
  在第1行


如何解决格式上的差异?我应该以某种方式引用一些Unix时间戳值吗?

最佳答案

数据不应以任何文本格式出现在表格中。这只是一个日期和时间。

将数据转换为字符串时,您会看到格式-应该尽量少用。特别是,当您将数据插入到另一个表中时,根本不应该使用格式值-在参数化SQL中应该使用DateTime

基本上,除非您确实需要数据的字符串表示形式,否则应将其保留为“本机”表示形式(在这种情况下为DateTime)。每当您进行文本转换时,这都是失败的机会。日期和时间对于时区等来说足够困难,不会涉及无关的转换。

10-08 07:15
查看更多