表中有一字段名为:
TelTime varchar(80)
存的时间格式为:2007-10-10 11:55:55在txtBox里输入的条件是年月日,即2007-10-10,可是这样查询出来的不是这个时间之内的,比如要查10号到11号的,就必须输入10号到12号才能把11号查出来,如果只输入到11号那只能查出10号的内容来我写的SQL语句:select * from telephone where TelTime between '2007-10-10' and '2007-10-11'
TelTime varchar(80)
存的时间格式为:2007-10-10 11:55:55在txtBox里输入的条件是年月日,即2007-10-10,可是这样查询出来的不是这个时间之内的,比如要查10号到11号的,就必须输入10号到12号才能把11号查出来,如果只输入到11号那只能查出10号的内容来我写的SQL语句:select * from telephone where TelTime between '2007-10-10' and '2007-10-11'
解决方案 »
- 请教 <%=%>与<%#%>
- gridview 怎样弄 客户才能 在浏览器上拖拉调整报表 列宽!!
- ASP.NET中img标签中的src属性如何给绝对问题
- 程序逻辑问题,渴望用SQL解决。请多帮忙
- 加载实体数据模型工具包时出错,无法加载实体数据模型工具包
- 急急...owc11问题
- 请教一个问题关最大值的问题!!
- 关于报表自动生成时控件位置控制的问题
- 在asp.net 中我建了一个服务器端table,然后动态的添加行和列,在每一个列中动态的加入TextBox控件,但刷新页页这些行列和TextBox就不见
- 没分了,我还是想问个datagrid的问题,相信还有高手免费指教,谢谢!!!
- ERROR頁面的請教,在線等...............
- 用正则验证文件名为JPG的JS代码。。要JS的。。
select * from appuser where Cast(TelTime as datetime) between Cast('2007-10-10' as datetime) and Cast('2007-10-11' as datetime)
timeStart= "2007-10-10" + " 00:00:00";
timeEnd= "2007-10-11" + " 24:00:00";当然这必须要你的时间格式为:2007-10-10 11:55:55
月份日期两位数, 24hh
AS DATETIME)+1
set @end_Date=convert(char(10),@end_Date, 120) + ' 23:59:59.000'
--------------------------\定义变量
select * from telephone where TelTime BETWEEN @start_Date AND @end_Date
where datediff(dd,'2007-10-10',teltime)>=0 and datediff(dd, '2007-10-11',teltime)>=02007-10-11
值实际上是
2007-10-11 00:00:00:003
你用between and当然取不到 日期为10-11的记录了。
你的意思是textbox里输入10-12?
这样的话无非自己处理下这段字符再按照Snowdust说的做就ok了
不然就直接按照Snowdust说的做
2007-10-10 -2007-10-10 就是查2007-10-10 00:00:00到2007-10-11 00:00:00
where datediff(dd, '2007-10-10',teltime) >=0 and datediff(dd, '2007-10-11',teltime) >=0 2007-10-11
值实际上是
2007-10-11 00:00:00:003
你用between and当然取不到 日期为10-11的记录了。
我以前用between也遇到过这个问题。
2 就算用datetiem 2007-10-11 转换成日期 就是2007-10-11 00:00:00 你需要把 23:59:59加上日期范围放入 前闭后开区间 比较容易理解所以 容易理解的写法就是 字段 < '2007-10-12' 即小于结束日期加一天