我正在使用SqlBulkCopy将只读Excel工作表保存到预定义的SQL表中 工作表中有多个日期列,但并非所有行都具有日期值(空和'#') 相应的列类型是varchar(20)而不是smalldatetime,否则我会收到无法转换数据的错误。
运行SqlBulkCopy后,日期将以我无法弄清楚的模式保存为数值。
例如:
2010年12月31日保存为40543
31.13.2011保存为40908
30.6.2011保存为40724
现在我必须在网络表单中提供日期。数字值不会打扰我,只要我可以将它们转换回日期格式以在GridView中呈现,但我不知道如何。
非常感谢任何帮助。
答案 0 :(得分:1)
尝试运行此查询:
SELECT CAST(CAST(YourVarcharDateColumn AS int) AS DateTime) FROM YourTable
答案 1 :(得分:0)
我使用了以下内容:
DateTime.FromOADate(num).ToShortDateString();
其中num是日期的数值