我有一個鏈接表的Access 2016數據庫。他們鏈接到一個Azure SQL數據庫。當我在Access查詢中包含表格時,空日期顯示爲1/1/1800。如果我只是在Access中打開表格,則空日期爲空。下面是該查詢:Microsoft Access 2016查詢返回鏈接表中的空日期的1/1/1800
SELECT dbo_WTSI_Jobs.Id, dbo_WTSI_Jobs.JobNo, dbo_WTSI_Jobs.CreatedDate, dbo_WTSI_Jobs.CompletedDate
FROM dbo_WTSI_Jobs
WHERE (((dbo_WTSI_Jobs.CreatedDate)>#1/1/2017#));
此查詢返回dbo_WTSI_Jobs.CompletedDate爲1800年1月1日,當它爲空。如果我省略WHERE子句,則空dbo_WTSI_Jobs.CompletedDate值爲空字符串。
如何防止查詢返回1/1/1800?
聽起來他們實際上並不是'NULL'值,它們是空字符串。當試圖將空字符串轉換爲日期時,您將獲得儘可能最短的日期。你可以嘗試像'SWITCH(dbo_WTSI_Jobs.CompletedDate =「」,NULL)''。類似的東西會爲該列返回一個實際的NULL值。 – BJones
你說得對,他們不是零。此表達式返回false:Expr1:IsNull([dbo_WTSI_Jobs]。[CompletedDate])。我不熟悉SWITCH功能,但是下面的問題解決了我的問題:CompletedDateCalc:IIf([CompletedDate] =#1/1/1800#,「」,[CompletedDate])。順便說一句,數據類型是日期時間。感謝你的幫助。 –