"不允许从数据类型varchar到varbinary的隐式转换。使用CONVERT函数运行此查询。"错误

时间:2018-03-22 20:45:37

标签: implicit-conversion varbinary

当我尝试使用Hibernate执行以下查询时,我遇到以下错误:

  

从数据类型varchar到varbinary的隐式转换不是   允许。使用CONVERT函数运行此查询。

String sql = "select distinct t.titleNo  from Ties t ,Titles se,TieType TT ,Net NTT "  
                        +" where t.seriesNo  = se.titleNo and t.titleType=TT.titleType and TT.titleTypeNo = NTT.titleTypeNo  "
                        +" and  ((((t.titleName LIKE '%'+:titleName+'%')  OR (:titleName LIKE '%'+ t.titleName+'%')) AND (ISNULL(TT.titleBaseType,'') ='')  "
                        +" And Isnull(:titleBaseType,'') <> 'N')  "     
                        +"   OR (((t.titleName LIKE :titleName)  OR (:titleName LIKE t.titleName)) AND (ISNULL(TT.titleBaseType,'') ='N')))   "
                        +"   AND (IsNull(se.titleName,'%') like CASE WHEN (:seriesNo>0) THEN  (SUBSTRING(LTRIM(:seriesName),1,6)+'%') ELSE '%' END)";

                Query qry = session.createSQLQuery(sql);
                qry.setParameter("titleName", titleName); //String
                qry.setParameter("seriesNo", seriesNo); //Integer
                qry.setParameter("titleBaseType", titleBaseType); //String
                qry.setParameter("seriesName", seriesName); //String
qry.list();

如何避免此错误?

1 个答案:

答案 0 :(得分:0)

这种情况正在发生,因为您的数据类型与数据库列的数据类型不匹配。正确检查数据类型。你可以找到映射here