从头开始学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

 

posted @ 2022-07-17 12:13  小大宇  阅读(19)  评论(0编辑  收藏  举报