一直在研究,到目前为止还没有找到可接受的答案,我的代码实验没有产生任何结果。
我有一个包含特定2列“StartDate”和“LastBackupDate”的数据库,它们似乎将日期信息存储为Julian日期(例如40953.6017873071)。我需要将其转换为标准格里高利日期(MM-DD-YYYY或DD-MM-YYYY)。
我正在从当前的“Select * FROM xxxxxx WHERE blah blah”中撤回此表中的所有结果。
如果我将数据导出到工作表,我可以立即使用Excel转换这些日期,但是当我使用Convert提取数据时,我无法获得转换日期。
这是网页的SQL查询的一部分。我无法发布网络代码,但我可以发布SQL查询:
SELECT * FROM ExpandedCustomerView WHERE regloginid = @0 AND (Status='A' OR Status='H')"
我一直在试验这个:
SELECT CONVERT(varchar(36),[STARTDATE],101)
[StartDate]
,[LastBackupDate]
FROM [CNTD_Accounts].[dbo].[ExpandedCustomerView]
作为一种让这种方式得到适当回归的方法。我尝试过格式化101,110和其他人,看看我们是否能得到正确的结果。到目前为止,没有什么对我有用。我认为这必须相当简单。
答案 0 :(得分:0)
直接从数字转换为日期时间..
select cast(40953.6017873071 as datetime)
--
2012-02-16 14:26:34.423
e.g。
cast([StartDate] as datetime)
如果数据是varchar字段中的数字,则将其转换两次
cast(cast([StartDate] as float) as datetime)