日期:2014-05-18  浏览次数:20682 次

sqlserver convert() 对日期统计出错 只能比较下限,不能比上限
SQL code

SELECT COUNT(1)
FROM A1
WHERE CONVERT(VARCHAR(8),A1.TEST_DATE, 112) >= CONVERT(VARCHAR(8), '2012-06-01', 112) --大于
AND CONVERT(VARCHAR(8),A1.TEST_DATE, 112) <= CONVERT(VARCHAR(8), '2012-06-11', 112) --小于




只比较大于日期部分没有问题,加上小于日期部分查询就为空。

请指教,在线急等。

------解决方案--------------------
SQL code

SELECT COUNT(1)
FROM A1
WHERE CONVERT(VARCHAR(10),A1.TEST_DATE, 112) 
between   CONVERT(VARCHAR(10), '2012-06-01', 112) --大于
AND CONVERT(VARCHAR(10), '2012-06-11', 112) --小于

------解决方案--------------------
探讨
SQL code

SELECT COUNT(1)
FROM A1
WHERE CONVERT(VARCHAR(8),A1.TEST_DATE, 112) >= CONVERT(VARCHAR(8), '2012-06-01', 112) --大于
AND CONVERT(VARCHAR(8),A1.TEST_DATE, 112) <= CONVERT(VARCHAR(8), '2012-06-……