在java中使用spring的jdbcTemplate.Update的方法,在拼寫sql語句時,使用了佔位符?,例如:
String sql = " delete from test where DECIMAL(TDATE) =DECIMAL(?) and companycode=? and lay=?";
而第一個佔位符是在db2的日期格式化函數中使用的,這樣就會報錯,在db2中佔位符是不可以直接放在函數中使用的,需將佔位符轉爲函數所需參數的類型,即如下:
String sql = " delete from test where DECIMAL(TDATE) =DECIMAL(cast(? as varchar(8))) and companycode=? and lay=?";