2020-03-06 时间段的查询

SELECT * FROM sc_user WHERE (CASE WHEN #{开始时间} IS NOT NULL AND "#{开始时间}"!="" THEN (开始时间的字段>="#{开始时间}") ELSE (1=1) END )
AND (CASE WHEN #{结束时间} IS NOT NULL AND "#{结束时间}"!="" THEN (结束时间的字段<="#{结束时间}") ELSE (1=1) END )

如果数据库是dateTime类型的(带有时分秒的)
前台是date类型 不带时分秒的 可以用DATE(visitor_time) 将数据库的进行转化 去掉时分秒 变为java.sql.Date 类型后进行 时间比较
例如
@Select("Select * from c_visit where "+ "(case when #{visitorName} is not null and #{visitorName}!= '' then (visitor_name like '%{visitorName}%') else (1=1) end ) and "+" (case when #{seniorName} is not null and #{seniorName}!= '' then (senior_name like '%{seniorName}%') else (1=1) end) and "+" (case when #{cVistBeginTime} is not null and #{cVistBeginTime}!= '' then (DATE(visitor_time) >= #{cVistBeginTime}) else (1=1) end ) and (case when #{cVistEndTime} is not null and #{cVistEndTime} != '' then (#{cVistEndTime} <= DATE(departure_time) ) else (1=1) end ) and delete_state = 1")
List<Map<String, Object>> queryCVistInfo(CVist cVist, Date cVistBeginTime, Date cVistEndTime);

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,504评论 0 13
  • 前言 本来想写一下广播的,发现查阅后有整理的不错的,只好转载图个简便,日后好复习转载:http://www.cnb...
    提升即效率阅读 1,404评论 0 10
  • 1.在控制台输出1-100 for(var i=1;i<=100;i++){ console.log(i) } ...
    萧声断未央阅读 356评论 0 0
  • 说起来,今天也就是很平淡的一天。 早上起床后,和Yeo问候早安,又随便的聊了会儿天,昨天他朋友找他玩,吃饭看电影到...
    JeongWook阅读 165评论 0 0
  • 文/陈益峰 九星峰指九类不同形状的龙脉结穴山峰。星亦称穴星或星峰,具体指贪狼星、巨门星、禄存星、文曲星、廉贞星、武...
    天山南北一阅读 1,781评论 0 2