当我尝试使用bcp函数(bcp_sendrow / bind等)插入具有datetime列的表时,我遇到了“无效的时间格式”问题。 所以根据google搜索的示例,我填充了一个DBDATETIME结构,例如:如果我想填充2009年第3季度,恰好是当地时间早上8点,我会像这样填充结构成员:
dtdays = 40026(自19000101以来的数天)和 dttime = 28800000(午夜以来的数毫秒)
(还将var。绑定为SQLDATETIME) 如果dttime是7位宽(或更小),则bcp超过(但显然时间值错误(日期部分正常))
我该如何解决这个问题?我已经尝试过datetime2 /时间等,但没有任何帮助。 请帮助,所有的建议/想法最感激。 (我正在使用Sql server 2008和(ODBC)sql native client 10.0)
谢谢!
答案 0 :(得分:0)
没关系..最后得到它(有点) -DBDATETIME :: dttime(自一天开始以来的毫秒数)需要分配3.333333 .. 这样你就可以得到最接近的值来代表你的时间。 (字段宽度只有7位宽)..这可能与日期时间类型有关,只能表示1/3秒。准确.... 无论如何,我尝试使用ODBC bcp api的datetime2,但无法使时间部分工作 如果有人找到更好的方法,请告诉我 谢谢!