把语句改成了: ps=conn.prepareStatement(select * from tableA where CONSUMEDATE>CAST(? as datetime)); ps.setString(1,"1992-12-12"); 运行时报错: Ivalide parameter binding. 怎么才能绑定上去啊?
要用转义语法。如yyyy-mm-dd格式,在select语句后加{d 'yyyy-mm-dd'}
转义语法格式在sqlserver里没有问题,但是在PreparedStatement中就会提示:Invalid token,还是不能把java里的日期传到sqlserver比较。我用的是微软的jdbc,支持应该还是比较好的 改写后的语句如下: ps=conn.prepareStatement(select * from tableA where CONSUMEDATE>{d ?});
ps=conn.prepareStatement(select * from tableA where CONSUMEDATE>CAST(? as datetime));
ps.setString(1,"1992-12-12");
运行时报错:
Ivalide parameter binding.
怎么才能绑定上去啊?
改写后的语句如下:
ps=conn.prepareStatement(select * from tableA where CONSUMEDATE>{d ?});