JAVAIARY

mybatis INTERVAL 구문오류 해결 본문

selfEdu/극약처방 ) Error

mybatis INTERVAL 구문오류 해결

shiherlis 2022. 11. 23. 15:49
select * from inq_board
where user_id = 'ID'
and
inq_date between (now() - interval '1year') and now()
order by inq_date desc, inq_id desc;

분명히 postgreSQL에서는 멀쩡히 잘 돌아갔던 구문

select * from inq_board
where user_id = ?
and
inq_date between (now() - interval ?) and now()
order by inq_date desc, inq_id desc;

하지만 mybatis 매퍼에 넣고 돌리면 구문오류라고 뜬다

머리가 너무 아팠는데 결국 연산이 안 되는 구문이었던 것

 

select * from inq_board
where user_id = ?
and
inq_date between (now() - CAST(? AS INTERVAL)) and now()
order by inq_date desc, inq_id desc;

String을 INTERVAL로  CASTING 해주는 방법 변경으로 해결

참고 :

https://stackoverflow.com/questions/13232633/how-to-pass-interval-in-mybatis-from-annotations