0

我正在使用 SqlBulkCopy 将只读 Excel 工作表保存到预定义的 SQL 表中。
工作表中有多个日期列,但并非所有行都有日期值(空和“#”)。
对应的列类型是 varchar(20) 而不是 smalldatetime,因为否则我会收到无法转换数据的错误。

运行 SqlBulkCopy 后,日期以我无法弄清楚的模式保存为数值。
例如:
31.12.2010 保存为 40543
31.13.2011 保存为 40908 30.6.2011
保存为 40724

现在我必须在 Web 表单中显示日期。只要我可以将它们转换回日期格式以在 GridView 中呈现,这些数值就不会打扰我,但我不知道如何。

对此有任何帮助将不胜感激。

4

2 回答 2

1

Try running this query:

SELECT CAST(CAST(YourVarcharDateColumn AS int) AS DateTime) FROM YourTable
于 2013-06-23T14:18:17.453 回答
0

我使用了以下内容:

DateTime.FromOADate(num).ToShortDateString();

其中 num 是日期的数值

于 2013-06-23T14:34:51.627 回答