Caused by: org.postgresql.util.PSQLException: 错误: 操作符不存在: date >= character varying

在使用SpringCloud微服务框架进行开发时,遇到PostgreSQL数据库中日期字段与字符串比较的SQL错误。通过在MyBatis中添加类型转换,将字符串参数转换为日期类型,成功解决了这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在开发springcloud微服务框架下功能时,PG数据库一条sql报错:
Cause: org.postgresql.util.PSQLException: 错误: 操作符不存在: date >= character varying 建议:没有匹配指定名称和参数类型的操作符. 您也许需要增加明确的类型转换. 位置:345
其实框架提示的很清楚了,改动也很简单,例子如下

// 原来的
<if test="endDate_start != '' and endDate_end != '' and endDate_start != null and endDate_end != null "> 
	and b.enddate between #{endDate_start} and #{endDate_end}	
</if>
// 改动后的
<if test="endDate_start != '' and endDate_end != '' and endDate_start != null and endDate_end != null "> 
	and b.enddate between CAST( #{endDate_start} as date) and CAST( #{endDate_end} as date)	
</if>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值