DB2 Error SQLCODE=-245

使用jdbc执行类似以下SQL报错

select month(#{month}) from xxx

错误信息

DB2 SQL Error: SQLCODE=-245, SQLSTATE=428F5, SQLERRMC=MONTH;1,DRIVER=3.72.30
...

但是datagrip却可以正确执行。

原因是因为在DB2的函数中使用占位符时,DB2无法知道参数的类型,需要手动指定参数类型。

将以上SQL改为

select month(CAST(#{month} AS VARCHAR)) from xxx

即可正确执行。

你可能感兴趣的:(DB2 Error SQLCODE=-245)