有两个时间字段:开始时间和结束时间,
select * from table where 开始时间 <= 某时间段 并且 结束时间 <= 某时间段
像这样的 并且 语句怎么写哇?
if (StringUtils.isNotBlank(param.getStartDate())) {
sql.append(" and startDate >= to_date('").append(param.getStartDate()).append(
"','yyyy-mm-dd') ");
}
if (StringUtils.isNotBlank(param.getEndDate())) {
sql.append(" and endDate <= to_date('").append(param.getEndDate()).append(
"','yyyy-mm-dd') ");
}
时间要是字符串格式的 如2016-05-05
看你数据库里面时间是怎么存的 如果是用vchar2存的直接用<=这种就行,
如果是用date存的
、
那就是 where aaa <=to_date(''你的条件),''yyyy-mm-dd') and aaa <=to_date(''你的条件),''yyyy-mm-dd')
如果带着时分秒 yyyy-mm-dd 就改成对应的格式 比如yyyy-mm-dd h24:mm:ss等等。。。
或者这个简单一点。你可以直接where aaa betwenn xxxx and xxxx 用between and 也可以解决你描述的问题
select * from table where startDate >= to_date('2017-04-01','yyyy-MM-dd) and endDate <= to_date('2017-05-01','yyyy-MM-dd')