我需要在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'
我需要在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'
你也可以指定日期簡單地YYYYMMDD
BETWEEN 20120529 AND 20120605
截至下面的鏈接描述,嘗試鑄造你的常量字符串進行比較: 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)
我試圖使用它沒有結果。它似乎只適用於文本類型列。我不明白爲什麼 – Akram
你確定CompletedDate是Date類型嗎?無論什麼類型,你需要扮演什麼樣的角色。此外,如果您已經在類型之間轉換這些列,那麼值得檢查它是否仍包含您期望的數據。 BETWEEN對於我來說一直很適合DATE專欄。 –
我試圖同時使用CAST和你顯示的兩種方式都不起作用 – Akram
你是什麼意思不工作?你得到一個MySQL錯誤?另外,DESC checkfinale的輸出是什麼? –
我檢查它實際上是varchar數據類型。我認爲是因爲這是觀點。 – Akram