我正在使用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
)。每当您进行文本转换时,这都是失败的机会。日期和时间对于时区等来说足够困难,不会涉及无关的转换。