2012-11-07 26 views
0

這似乎是一個簡單的任務,我已經看到其他人提出同樣的問題,但我仍然無法從我的SQL查詢中返回任何結果。我有一個由時間戳默認當前設置的日期列。所以它讀取YYYY-MM-DD HH-MM-SS。在PHP中匹配MySQL時間

我的SQL查詢如下:

select `paid` from customer_det where `office` = "Blanding" and `date`= CURDATE(); 

我返回結果集時,我擺脫了和日期= CURDATE的。所以我很好奇如何匹配這兩個日期。我只需要拉取今天插入的結果,但實際時間並不相關。

謝謝。

+0

我的意思是格式化日期列是正確的格式。我認爲它有點像DATE_FORMAT('Ym-d',日期) –

+0

它是正確的格式,它只是有額外的值... – smada

+0

假設有兩種方法,按照nathan的建議使用'Date_Format',或者使標準成爲範圍。使用'BETWEEN' – ficuscr

回答

0

,就可以把時間戳剛剛拿到DATE()部分和比較:

SELECT `paid` FROM customer_det WHERE `office` = "Blanding" AND DATE(`date`) = CURDATE(); 
+0

再次感謝傑森! – smada

0

我相信你可以用DATEDIFF做到這一點。

select `paid` from customer_det where `office` = "Blanding" and DATEDIFF(`date`, CURDATE()) = 0; 
1

CURDATE()返回YYYY-MM-DD。

您的日期值爲YYYY-MM-DD HH-MM-SS,因此date = CURDATE()將始終爲假。 因爲你在做什麼是'2012-11-07 21:58:47' = '2012-11-07',這顯然是不一樣的。

相反,你可以使用MySQL的DATE()函數,就像這樣:

SELECT `paid` FROM customer_det WHERE `office` = "Blanding" and DATE(date) = CURDATE(); 
0

你有沒有嘗試過這樣的:

$curDate = date("Y-m-d"); 
$query = "select `paid` from customer_det where `office` = "Blanding" and `date` = $curDate"; 

在我看來,你有什麼上市應該工作。

+0

與@ coder1984的回答相同,此查詢只返回完全相同的記錄,而不是整個一天。 –

+0

當我閱讀他想要的內容時,我發現他想要這種格式,我的錯誤是我做了編輯。 –

+0

我明白你說什麼現在從SQL查詢的日期是時間戳你的答案更有意義我會投票。 –