关于mybatics中起始与结束时间的处理方法

关于mybatics中起始与结束时间的处理方法

2020年3月30日原创

我们从前端获取到的数据是:

ORDER_DATE_START : 2010-10-10 开始时间
ORDER_DATE_END :2019-11-11 结束时间
我们需要获取的筛选范围是
ORDER_DATE 大于等于ORDER_DATE_START 并且小于等于ORDER_DATE_END 的结果

处理:

开始时间处理:

开始时间to_date(#{ORDER_DATE_START},‘yyyy-mm-dd’) 后,内容变成2010-10-10 00:00:00

结束时间处理:

结束时间TO_DATE(#{ORDER_DATE_END} || ’ 23:59:59’,yyyy-MM-dd HH24:mi:ss’) 后,内容变成2019-11-11 23:59:59
也就是结束时间使用“||”拼接“ 23:59:59”,注意23:59:59以前有有个半角的空格

处理后语句的意思就是:

大于等于开始日期的 00:00:00,小于等于结束日期的 23:59:59

使用的知识点:

||字符串拼接

to_date(),注意前后的格式是不一样的 ‘yyyy-mm-dd’ ‘yyyy-MM-dd HH24:mi:ss

<!-- 查找 -->
	<select id="listOrderDetail" parameterType = "map" resultType="map" >
		SELECT O.ORDER_DATE FROM  K_ORDER O	WHERE 1=1		
		<if test="ORDER_DATE_START != null and ORDER_DATE_START != ''">	
		   AND O.ORDER_DATE  &gt;= to_date(#{ORDER_DATE_START},'yyyy-mm-dd')		
		</if>
		<if test="ORDER_DATE_END != null and ORDER_DATE_END != ''">			
		   AND O.ORDER_DATE  &lt;= TO_DATE(#{ORDER_DATE_END} || ' 23:59:59', 'yyyy-MM-dd HH24:mi:ss') 		
		</if>
	</select>
发布了12 篇原创文章 · 获赞 0 · 访问量 1470

猜你喜欢

转载自blog.csdn.net/weixin_43142925/article/details/105210088
今日推荐