【发布时间】:2017-07-14 16:20:06
【问题描述】:
http://sqlfiddle.com/#!6/a694d/10
我正在尝试将日期字符串转换为十进制值,并且该值与 Excel 给出的值相匹配。从 SQLFiddle 中,一些值匹配,但后来在列表中它偏离了一个。
我尝试了 2 种不同的方法,但仍然找不到正确的组合来获得与 excel 生成的数字相匹配的数字。
这是我正在运行的查询(来自 SQLFiddle):
SELECT
date_as_nvarchar_max
,excel_value_as_number
,cast((cast(date_as_nvarchar_max as datetime)-'1899-12-30T00:00:00')AS NUMERIC(10, 2)) as test1
,cast((cast(date_as_nvarchar_max as datetime)-'1899-12-31T00:00:00')AS NUMERIC(10, 2)) as test2
,datediff(day, '1899-12-30T00:00:00', date_as_nvarchar_max) as test3
,datediff(day, '1899-12-31T00:00:00', date_as_nvarchar_max) as test4
FROM EXCEL_DATES
【问题讨论】:
标签: sql-server excel datetime