码迷,mamicode.com
首页 > 其他好文 > 详细

mybatis 字符串转时间类型

时间:2019-06-15 11:35:22      阅读:929      评论:0      收藏:0      [点我收藏+]

标签:rom   tle   nbsp   end   最好   url   postgresq   http   util   

有时候前端传过来的时间是字符串类型的,如果直接使用,会报错。
如在XML里这样使用:select * from table where create_time >= #{startTime},其中startTime为前端传过来的时间。
在运行时会报错:

              ERROR: operator does not exist: timestamp without time zone > character varying

解决办法:使用时间转换函数奖字符串转为时间类型:

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‘

end

mybatis 字符串转时间类型

标签:rom   tle   nbsp   end   最好   url   postgresq   http   util   

原文地址:https://www.cnblogs.com/yilaguan9527/p/11026835.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!