2012-06-17 71 views
0

我需要在mysql中搜索日期,但是,如果列類型是日期,則不起作用。我需要改變文本類型是沒有辦法做到這一點日期類型如何在mysql中搜索日期

這裏是我的查詢

SELECT Count(CaseStatus) as CompletedCase From checkfinale where CaseStatus='2' AND CompanyID='51' AND `CompletedDate` BETWEEN '2012-05-29' AND '2012-06-05' 

回答

1

你也可以指定日期簡單地YYYYMMDD

BETWEEN 20120529 AND 20120605 
+0

我試圖同時使用CAST和你顯示的兩種方式都不起作用 – Akram

+0

你是什麼意思不工作?你得到一個MySQL錯誤?另外,DESC checkfinale的輸出是什麼? –

+0

我檢查它實際上是varchar數據類型。我認爲是因爲這是觀點。 – Akram

1

截至下面的鏈接描述,嘗試鑄造你的常量字符串進行比較: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html#operator_between

AND `CompletedDate` BETWEEN CAST('2012-05-29' AS DATE) AND CAST('2012-06-05' AS DATE) 
+0

我試圖使用它沒有結果。它似乎只適用於文本類型列。我不明白爲什麼 – Akram

+0

你確定CompletedDate是Date類型嗎?無論什麼類型,你需要扮演什麼樣的角色。此外,如果您已經在類型之間轉換這些列,那麼值得檢查它是否仍包含您期望的數據。 BETWEEN對於我來說一直很適合DATE專欄。 –