sql 日期查询用 between ... and ,在实际应用中发现 必须格式一样才可以比较,例如下列代码:
where CONVERT(varchar(10), 查询日期, 25) between '2011-09-21' and '2011-09-22'
这是通过C#的日期控件选择的时间需要格式化一下 才能符合条件
date1.toString("yyyy-MM-dd")
经测试下列语句在win7和winxp环境下结果不一致
date1.toString("yyyy/MM/dd")
win7返回2011/11/01,而XP则是2011-11-01。所以导致between语句失效
自己记录一下,提醒自己。
CONVERT(varchar(10), 查询日期, 25)
用 yyyy-MM-dd 来查询
CONVERT(varchar(10), 查询日期, 111)
用 yyyy/MM/dd 来查询
考虑win7和xp的差异问题,最终选择用
CONVERT(varchar(10), 查询日期, 25)
用 yyyy-MM-dd
这样不会混乱了!