mybatis字符串转时间类型
有时候前端传过来的时间是字符串类型的,如果直接使⽤,会报错。
如在XML⾥这样使⽤:select * from table where create_time >= #{startTime},其中startTime为前端传过来的时间。
在运⾏时会报错:
解决办法:使⽤时间转换函数奖字符串转为时间类型:
to_date(#{startTime},'YYYY-MM-DD HH24:MI:SS')
上⾯是sql就可以写为:select * from table where create_time >= to_date(#{startTime},'YYYY-MM-DD HH24:MI:SS')这样就不会报错了
需要注意的是:上⾯的时间格式为:'YYYY-MM-DD HH24:MI:SS' ,HH24代表使⽤24⼩时,如果不加24,就代表使⽤12⼩时制,这个时候如果传过来startTime 的值为‘2019-06-15 00:00:00’,这个时候也会报错:org.postgresql.util.PSQLException: ERROR: hour "0" is invalid for the 12-hour clock
另外不像java的时间格式可以写为 ‘YYYY-MM-dd HH:mm:SS’,mybatis的xml如果写为这样也会报错:
Cause: org.postgresql.util.PSQLException: ERROR: conflicting values for "MM" field in formatting string
所以记得最好写成:'YYYY-MM-DD HH24:MI:SS'
endjava时间日期格式转换
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论