日期:2014-05-19  浏览次数:20545 次

时间段查询的问题
h_rdate   > = '2007-05-29 '   AND   jh_rdate   <= '2007-05-31 '

可以查到   2007-05-29   到   2007-05-30的内容
但是查不到 '2007-05-31 '   的内容


------解决方案--------------------
<= '2007-05-31 '改为 < '2007-06-01 '

<= '2007-05-31 '只会查到2007-05-31零点以前的记录
------解决方案--------------------
要是h_rdate是smalldatetime or datetime类型,可以这样:
CONVERT(nchar(10),h_rdate,120) > = '2007-05-29 ' AND CONVERT(nchar(10),h_rdate,120) <= '2007-05-31 '

或者:
CONVERT(nchar(10),h_rdate,120) BETWEEN '2007-05-29 ' AND '2007-05-31 '

------解决方案--------------------
2007-05-31他等于2007-05-31 00:00:00
你可以写成 2007-05-31 23:59:59
但是在同的日期格式是不一样的,有可能是分上午下午的所以建议你使用2007-06-01
------解决方案--------------------
bill024(咖啡熊)兄正解

h_rdate,jh_rdate肯定是为日期型,它后面还会有分有秒,毫秒,

------解决方案--------------------
convert(char(10),h_rdate,120) between '2007-05-29 ' AND '2007-06-01 '
这个可以看到 '2007-05-29 ' 到 '2007-05-31 '的内容