在JDE System的Database裡的日期,都是以Julian Date的格式儲存
例如: 2017年1月1號 = 117001, 2016年12月31號 = 116366
所以在用SQL抓取Database裡的日期欄位時,就需要做轉換的動作
我使用SQL的語法如下
DateAdd(Day, [Julian Date]%1000 - 1, CAST(CAST(CAST(([Julian Date]/1000+1900) AS Int) AS VarChar(4)) + '-01-01 ' AS Date))
[Julian Date]為需要轉換的欄位
1. 將Julian Date轉換為年分 : 116366 = 2016
CAST(CAST(([Julian Date]/1000+1900) AS Int) AS VarChar(4))
2. 再將年分轉換為日期 (其年分的第一天) : 116366 = 2016-01-01
CAST(CAST(CAST(([Julian Date]/1000+1900) AS Int) AS VarChar(4)) + '-01-01 ' AS Date)
3. 將Julian Date轉換為天數 : 116366 = 365
[Julian Date]%1000 - 1
4. 使用DateAdd函數將2&3組合


