MS SQL ServerdateExcel
我有从SQL Server链接到Excel文件的数据。 SQL Server上的列格式是datetime2
。
当我通过ODBC连接获取数据时,它会以string的forms出现?
我试过使用
CAST(column AS DATE )
但是这并没有奏效。
我尝试通过重新格式化
CONVERT(VARCHAR(10), column, 103)
以及但没有工作。
我试图通过微软查询检索数据,但没有奏效。
目前我正在使用VBA代码,如:
While (ActiveCell.Value <> "") ActiveCell.Value = DATEVALUE(ActiveCell.Value) ActiveCell.Offset(1,0).Activate Wend
并循环遍历需要这种处理的每列,但是多列中的100000行需要永久循环。 有没有其他的select?
看来Excel和Access也不像SQL Server的datetime2格式。
我已经将数据转换为date时间格式,现在似乎正在工作。
您可以简单地将Excel中的date转换为以下格式:
“YYYY-MM-DD HH:mm:ss”
这是默认的ODBC规范格式 。 在这种情况下,将进行隐式转换并且将实现正确的结果。
另一种方法是尝试使用另一种风格执行转换:
CONVERT(VARCHAR(10),列,120)
没有macros需要,我们Excel表列而不是。
Excel中的任何ODBC连接都会返回一个表。 只需在表格右侧添加一个新列,并进行计算。 它应该看起来像这样= DATEVALUE([@ DateColumnFromODBC])
该列将与您的表一起添加和缩小,并且只要ODBC连接保持不变,就始终保留它的引用。