Teradata JDBC准备了语句错误

时间:2013-11-21 21:22:02

标签: java sql jdbc teradata

当使用Teradata 14而不是JDBC时,我对此SQL查询绑定对

会收到以下SQL错误

查询

"select regexp_instr('abc', 'a' || ?) s" 

绑定

"bc"

错误

 com.teradata.jdbc.jdbc_4.util.JDBCException : [Teradata Database] [TeraJDBC 14.10.00.17] [Error 3536] [SQLState HY000] UPPERCASE or CASESPECIFIC specified for non-CHAR data.

当我使用内联文字直接执行查询时,它可以正常工作。

任何想法在这里有什么不妥?

1 个答案:

答案 0 :(得分:1)

Teradata的反馈意见:

“看起来这可能是Teradata数据库中的一个错误”。您可以通过将字符串联表达式CAST到VARCHAR来解决此问题。

 "select regexp_instr('abc', cast('a' || ? as varchar(100))) s"
相关问题