求助。。。between and 出错了。

jackli6688 2014-01-01 12:41:54

ASP开发的程序中,出现问题
<%
sql ="select * from tabaleA WHERE CREATE_date between '2013-12-1' and '2013-12-31'"
set rs=conn.execute(sql)
%>
检索数据中的记录时,只显示1号至30号的。31号的数据记录不会被检索出来。为什么呀?到底错在哪儿了请高手指教。
...全文
104 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackli6688 2014-01-01
  • 打赏
  • 举报
回复
已处理好,谢谢“我来了你会走吗”
lynchhei 2014-01-01
  • 打赏
  • 举报
回复
用 convert(varchar(10),CREATE_date ,120) 方法时请把 '2013-12-1' 写成 '2013-12-01' 从效率上来说个人推荐 6楼 阳泉酒家小当家 的做法, 不建议在表达式的左边使用函数。
LongRui888 2014-01-01
  • 打赏
  • 举报
回复
改成这样呢:
select * from tabaleA 
WHERE CREATE_date >= '2013-12-1' and CREATE_date < dateadd(day,1,'2013-12-31')
AcHerat 2014-01-01
  • 打赏
  • 举报
回复
WHERE convert(varchar(6),CREATE_date,112) = '201312'
jackli6688 2014-01-01
  • 打赏
  • 举报
回复
是有时和分。必须要时分来进行流水排序,因是流水账,必须保留时分秒,可有解决办法。CREATE_date 改成 convert(varchar(10),CREATE_date ,120) 后只显示10-31号的了。
jackli6688 2014-01-01
  • 打赏
  • 举报
回复
不行哟。改了之后只能显示10号至31号的数据了10之前的不显示了。
AcHerat 2014-01-01
  • 打赏
  • 举报
回复
估计你between的那个字段是date型,有时分秒, 2013-12-31 , 你试着转为date型看,应该是 0时0分 。。。
immmmmmmm 2014-01-01
  • 打赏
  • 举报
回复
CREATE_date 改成 convert(varchar(10),CREATE_date ,120)

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧