java 时间段查询

现有一个需求,在页面上如果两个文本框有值,就按这段时间查询,若一个有值就按这个值查询,请问sql语句怎么写?... 现有一个需求,在页面上

如果两个文本框有值,就按这段时间查询,若一个有值就按这个值查询,请问sql语句怎么写?
展开
 我来答
332442181
推荐于2018-05-09 · TA获得超过109个赞
知道答主
回答量:98
采纳率:0%
帮助的人:71.7万
展开全部
不一定非要在sql中判断吧,可以先取两个值,然后在java类型判断,通过拼接sql的形式进行查询,如:if(存在开始时间,不存在结束时间||存在结束时间,不存在开始时间){
select * from 表名where 日期字段 = '时间'
}else if(都存在){
select * from 表名 where 日期字段 between 开始时间' and '结束时间'
}
阿Q说
2013-09-26 · 阿Q说创业,创业小点子,营销小故事
阿Q说
采纳数:48 获赞数:164

向TA提问 私信TA
展开全部
select * from 表名where 日期字段between '2011-1' and '2011-10'
select * from 表名where (日期字段>='2011-1' and 日期字段<='2011-10')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a4ed9d5
2013-09-26 · 超过27用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:48.8万
展开全部
这个好像涉及到javascript,Ajax机制,另外你用的是什么DB啊
sqlserver的话:
select * from tb where riqi between '2009-01-22 00:00:00' and '2009-01-22 23:59:59'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Flying_1_Eagle
2013-09-26
知道答主
回答量:13
采纳率:0%
帮助的人:4.6万
展开全部
三种情况 1:左有右无 2:左无右有 3:左有右有
追问
可否详细的判断最好要sql
追答
  1. where time >= left_value

  2. where time <= right_value

  3. where (time >=left_value and time <= right_value) / where time between left_value ad right_value

 为了确保数据有效 两输入框均有值时判断 右>左

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小狂中E
2013-09-26 · TA获得超过1418个赞
知道大有可为答主
回答量:1514
采纳率:66%
帮助的人:1034万
展开全部
select * from 表 where 日期 between COALESCE (?, '1800-01-01') and COALESCE(?, '2300-01-01')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式