mybatis中sql时间转换和查询几种处理方式

今天被测试提了几个BUG,传入某个页面的时间功能报错,DEBUG断点查看了一下,发现是时间格式问题。接下来我就来总结一下mybatis中sql时间转换几种方式。
一、字符串转时间格式,适用于sql中定义的是时间格式,页面传过来是字符串格式。

<!--带格式转换-->
to_date(2020-03-27 10:20:30,'yyyy-mm-dd HH:24:mi:ss')
<!--sql格式转换-->2020-03-27 10:20:30::timestamp(0)

二、时间格式转字符串,适用于sql中字段查出来是字符串格式,页面过来查询条件为时间格式。

<!--带格式转换-->
select to_char(now(),'yyyy-mm-dd HH:24:mi:ss')
<!--不带格式转换-->
now()::text

三、说一下sql时间条件查询的几种方法。
1、CDATA: CDATA 部分由 “<![CDATA[" 开始,由 "]]>” 结束

 <![CDATA[
                and a.create_time <=  to_date(#{d.startDate},'yyyy-mm-dd HH:24:mi:ss')
                and a.create_time >=  to_date(#{d.endDate},'yyyy-mm-dd HH:24:mi:ss')
                ]]>

2、>=(大于等于),<=(小于等于)

  and a.create_time  &gt;=  to_date(#{d.date},'yyyy-mm-dd HH:24:mi:ss')
  and a.create_time  &lt;=  to_date(#{d.endDate},'yyyy-mm-dd HH:24:mi:ss')

三、附带说一下sql中字符串转数字的几种方法

<!--不带长度-->
'12345678'::int
<!--带长度-->
to_number('12345678','9999999999999999')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值