为什么我会为这个类似的查询得到不同的结果?如何检查日期是否在MySQL的范围内?
SELECT CASE WHEN CONCAT(2011, '-1-1') BETWEEN '2011-01-01' AND '2011-03-31' THEN 1 ELSE 0 END AS status;
+--------+
| status |
+--------+
| 0 |
+--------+
SELECT CASE WHEN CONCAT(2011, '-1-1') BETWEEN '2011-1-1' AND '2011-3-31' THEN 1 ELSE 0 END AS status;
+--------+
| status |
+--------+
| 1 |
+--------+
'CAST(CONCAT(2011,'-1-1')AS DATE)'也应该这样做。 – 2011-04-05 18:55:44