您现在的位置是:首页 > 博客网站制作 > CSS3|Html5CSS3|Html5

Postgresql在mybatis中报错:操作符不存在:character varying == unknown的问题

杨青青2022-02-20【CSS3|Html5】人已围观

简介错误:操作符不存在:charactervarying==unknown,Hint:没有匹配指定名称和参数类型的操作符.您也许需要增加明确的类型转换.在Mybatis条件查询时,动态SQL的一个错误,sql写的也不

错误:操作符不存在:charactervarying==unknown,Hint:没有匹配指定名称和参数类型的操作符.您也许需要增加明确的类型转换.

在Mybatis条件查询时,动态SQL的一个错误,sql写的也不多,没仔细看所以一直找不到错误,网上也找不到类似的错误,结果是低级错误。。。




itemValue="value"htmlEscape="false"/>

下面的动态sql查询是根据前台字典传过来的值0或1或'',来判断d_sign的值进行数据过滤查询,默认传过来''(空字符串)则均不进下面的判断条件里,是0或1才进去。



AND(b.d_signisnullorb.d_sign='')



AND(b.d_signisnotnullANDb.d_sign!='')

我把上面①里面的b.d_sign=''写成了b.d_sign=='',从而报了上面的错误。

另外把自己用到的一些postgresql中的sql语句做个整理:

我的postgresql数据库版本

1selectversion();//查询版本语句

PostgreSQL9.5.22,compiledbyVisualC++build1800,64-bit

修改表名

1altertabletable_namerenametotable_name2;

修改字段的默认值

1ALTERTABLE表名ALTERCOLUMN列名SETDEFAULT默认值;

设置某个字段的值为null

正确示范:

1updatetable_namesetfin=null;//正常完成修改操作

错误示范:

1updatetable_namesetfinisnull;//报语法错误!!!

修改表中值为null的数据

正确示范:

1updatetable_namesetfin='0'wherefinisnull;//正常完成修改操作

错误示范:

1updatetable_namesetfin='0'wherefin=null;//不报语法错误,但修改条数是0,不起修改作用

修改字段的类型

1altertable表名alterCOLUMN列名typevarchar(255);

添加字段

1ALTERTABLE表名ADD字段名varchar(36);

其他测试:

//表中总共的记录数
selectcount(1)fromtable_name32

selectcount(1)fromtable_namewhered_signisnull9//32=9+23
selectcount(1)fromtable_namewhered_signisnotnull23//23=5+18
selectcount(1)fromtable_namewhered_sign=''5
selectcount(1)fromtable_namewhered_sign!=''18

selectcount(1)fromtable_namewhered_signisnullord_sign=''14//32=14+18
selectcount(1)fromtable_namewhered_signisnotnullANDd_sign!=''18

Tags:

很赞哦! ()

文章评论

站点信息

  • 建站时间:2011年01月12日
  • 网站程序:帝国CMS7.5
  • 主题模板《今夕何夕》
  • 文章统计625篇文章
  • 标签管理标签云
  • 微信公众号:扫描二维码,关注我们