2015-07-11 101 views
-3

這是我的查詢它工作正常。獲取日期範圍,當沒有日期存在表

但我想獲取缺少日期的空白記錄,當該日期範圍內沒有記錄時,從表中獲取數據。

SELECT * from tbl_social where `dCreatedDate` BETWEEN 
DATE_ADD('2015-07-06', INTERVAL 3 DAY) and DATE_SUB('2015-07-06', INTERVAL 3 DAY); 

enter image description here

如果日期沒有記錄「2015年7月8日」我需要在上市當日行也。

感謝你。

+0

'或dCreatedDate爲空' – amdixon

+1

是的,如果這些範圍之間沒有記錄,則應該是所有日期。 – user2105662

回答

0

您可以進行一些更改查詢,並把所有這些數據是不是在這個特定範圍

,也沒有日期。做這樣嘗試這樣的事情

SELECT * FROM SELECT * from tbl_social 
WHERE (
      `dCreatedDate` NOT BETWEEN DATE_SUB('2015-07-06', INTERVAL 3 DAY) 
      AND DATE_ADD('2015-07-06', INTERVAL 3 DAY) 
    ) OR (`dCreatedDate` IS NULL) 

NOT BETWEEN將尋求那些不符合條件的記錄,並與NULL會看到那些記錄dCreatedDate是空白的,並獲取所有數據進行匹配兩個標準

+0

謝謝你的回答。但是我想返回那個日期而不是空白。 – user2105662

+0

這個日期你是什麼意思,如果你不想要空白記錄,那麼在'is'後面加'NOT' –

+0

我正在提取'2015-07-06'下一個和前3天的記錄。所以如果在該日期之間不存在記錄即。如果沒有'2015-07-08'的記錄,那麼我希望該日期的響應意味着在dCreated日期中不存在日期。 – user2105662