SELECT * FROM shortleavedetails WHERE employee_code='17' AND
(DATE(authorizeddate) <= DATE(2011-1-1) AND DATE(authorizeddate) >= DATE(2010-5-1))
回答
SELECT * FROM shortleavedetails WHERE employee_code='17' AND authorizeddate between '2010-5-1'and '2011-1-1'
如[這裏]所示,最好轉換爲DATE(http://stackoverflow.com/questions/4897133/mysql-select-date-range-issue/4897195#4897195)。 – 2011-09-01 17:45:50
把你的日期值放在單引號中,因爲它們是文字字符串,否則MySQL不能告訴那是一個日期而不是數字(2011年MINUS 1 MINUS 1 = 2009)。
你不需要DATE()也可以在它們周圍施放。
SELECT
*
FROM
shortleavedetails
WHERE
employee_code = '17'
AND
(DATE(authorizeddate) <= '2011-01-01'
AND
DATE(authorizeddate) >= '2010-05-01')
謝謝,它由此完成。 – Aamir 2010-12-13 05:45:06
不需要使用DATE函數 - 日期中的隱式轉換將作爲字符串在那些日期的午夜。事實上,在這個例子中使用DATE函數意味着不能使用'authorizeddate'列上的索引(或包含/收斂)。 – 2010-12-13 06:05:06
該查詢的含義會有所不同。如果沒有'DATE','2011-01-01 13:50'的授權日期與'DATE'不匹配,只會比較日期時間的日期部分。 – 2010-12-13 06:08:43
SELECT * FROM shortleavedetails WHERE employee_code='17' AND
authorizeddate <= '2011-01-01' AND authorizeddate >='2010-05-01'
試試這個
SELECT * FROM shortleavedetails WHERE employee_code='17' AND
(authorizeddate<='2011-1-1' AND authorizeddate >= '2010-5-1')
- 1. MySQL的日期比較問題
- 2. MYSQL日期比較問題異常
- 3. SQL日期比較問題
- 4. Php日期比較問題
- 5. 日期比較問題
- 6. Javascript - 問題比較日期
- 7. MySQL日期比較
- 8. 比較MySQL日期?
- 9. mysql日期比較
- 10. 日期比較PHP的MySQL
- 11. MySql日期時間比較
- 12. MySQL日期比較建議
- 13. mysql中的日期比較
- 14. Perl與MySQL比較日期
- 15. MySQL錯誤比較日期
- 16. mysql比較2日期
- 17. MySQL日期比較函數
- 18. PHP MySQL日期比較
- 19. 在MySQL中比較日期
- 20. 比較日期的問題 - NSDate
- 21. Ruby日期時間比較問題
- 22. 比較日期Java格式問題
- 23. Symfony 2 PHP比較日期問題
- 24. C#日期時間比較問題
- 25. LINQ的日期比較問題
- 26. MS訪問日期問題,如何比較日期
- 27. 在mysql中比較兩個日期的問題
- 28. 在mysql中比較兩個日期mysql
- 29. 日期比較
- 30. 比較日期
你有什麼問題嗎? – Lee 2010-12-13 05:40:07
日期沒有比較。 – Aamir 2010-12-13 05:41:01