2017-07-10 37 views
0

當查詢MYSQL查找當前日期的'current_date'中的記錄時,查詢日期會返回'No'數據。取而代之的是,它返回爲MySQL爲日期查詢返回空結果

"MySQL returned an empty result set (i.e. zero rows). (Query took 0.0004 sec)" 

試過,下面的查詢都沒有返回任何記錄。

受審SQL查詢:

SELECT hash FROM malware_db WHERE current_date like '%2017-07-10%' 

SELECT hash FROM malware_db WHERE date(current_date) like '%2017-07-10%' 
SELECT hash FROM malware_db WHERE date(current_date) between date('2017-07-10 00:00:00') AND date('2017-07-10 23:59:59') 

樣品DB的記錄組

hash,first_seen,last_seen,current_date,status,treat,trust,name,famil,generic,platform,subplatform,mType,scannerPercent 

9dc1a6770bf57142bbfb9428b3e6213e,2014-06-10 22:01:00,2017-07-02 18:10:00,2017-07-10 23:06:23,MALICIOUS,5,5,Android.Exploit.Lotoor,Lotoor,False,Android,None,None,57.1428565979 

在該結構中, 「current_date」 列的Type是 「datetime」。

不確定,這裏有什麼問題?有什麼建議嗎?

+1

'date(current_date)= curdate()'應該有效。 –

+1

將'current_date'包裹在墳墓中。如:'\'current_date \''。所以,試試這個:SELECT hash從malware_db WHERE \'current_date \'就像'%2017-07-10% – Mojtaba

+0

@Mojtaba Nope那沒有幫助。我得到了「#1064 - 你的SQL語法有錯誤;檢查與你的MySQL服務器版本相對應的手冊,在第1行」%2017-07-10%'附近使用正確的語法「 hash FROM malware_db WHERE'current_date' like'%2017-07-10%「 – Arun

回答

1
select hash from malware_db where date(current_date) = date(now()); 
+0

謝謝Raju。這將給我所有的數據,但不是隻有'2017-07-10'的數據。 – Arun

1
SELECT hash FROM malware_db WHERE DATE(current_date) = '2017-07-10' 

但它確實聽起來像你沒有在正確的數據庫/表中查找,因爲所有這些建議都應該有效。