从头开始学Oracle--------时间函数
一、开始时间,结束时间 (字符串转Date)
参数,字符串类型。
Oracle中使用时间进行比较,需要转成时间Date类型。
如果参数传递的是"字符串",需要使用 TO_DATE(字符串日期,FORMAT)格式化字符串成Date类型。然后再进行时间的对比
SELECT
T .CJRQ
FROM
T_KC_TSKCFZ T
WHERE
-- #{开始时间} <= 符合条件的记录 <= #{结束时间}
t.CJRQ >= TO_DATE(concat('2020-11-15','00:00:00'),'YYYY-MM-DD HH24:MI:SS')
AND t.CJRQ <= TO_DATE(concat('2020-12-31','23:59:59'),'YYYY-MM-DD HH24:MI:SS')
在MyBatis的配置文件中,开始时间startDate与结束时间endDate均为字符串类型!
所以把starteDate与endDate 使用 TO_DATE函数转成Date类型。
<if test="startDate!=null and startDate !=''">
and
<![CDATA[
t.CREATE_DATE >=
to_date(concat(#{startDate},'00:00:00'),'YYYY-MM-DD HH24:MI:SS')
]]>
</if>
<if test="endDate!=null and endDate !=''">
and <![CDATA[
t.CREATE_DATE <=
to_date(concat(#{endDate},'23:59:59'),'YYYY-MM-DD HH24:MI:SS')
]]>
</if>
二、DATE 转 String
使用TO_CHAR函数,可以把DATE类型出转化成字符串
SELECT TO_CHAR(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual; --2020-12-17 14:18:18
SELECT TO_CHAR(sysdate,'YYYY-MM-DD') from dual; --2020-12-17