暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【干货攻略】报错处理篇——试图在blob或者clob列上排序或比较

达梦E学 2023-03-09
1449


前言

在DM8上对大字段类型列进行排序、分组等操作时,会报错:-2685:试图在blob或者clob列上排序或比较。本期为大家分享该报错下的问题解决方案。


本章内容已在如下环境中测试:
操作系统:银河麒麟V10
数据库:DM8
相关关键字:-2685



错误演示


1、创建测试表并插入数据:

    create table test (id int,content text);
    insert into test values(1,'武汉达梦数据库股份有限公司成立于2000 年,为中国电子信息产业集团(CEC)旗下基础软件企 业,专业从事数据库管理系统与数据分析软件的研发、销售和服务。');
    insert into test values(2,'达梦公司的发展跨越了七个“五年计划”,先后完成了近60项国家级、省部级的科研开发项目,
    取得了50多项研究成果,皆为国际先进、国内领先水平,有30多项获国家、省部级科技进步奖。');
    commit;

    2、对大字段类型列进行排序和分组操作

      SQL> select count(*) from test group by content;
      SQL> select id,content from test order by content;





      解决方法



      1、使用CAST将字段类型转换为字符串类型

        SQL> select count(*) from test group by cast(content as varchar);

          SQL> select id,cast(content as varchar) from test order by cast(content as varchar);


          2、使用DBMS_LOB.SUBSTR函数

          DBMS_LOB.SUBSTR函数对CLOB或者TEXT类型,返回的结果为字符串类型,具体细节请参考《DM8系统包使用》。

            SQL> select id,dbms_lob.substr(content) from  test order by  dbms_lob.substr(content);

              SQL> select count(*) from test group by  dbms_lob.substr(content);


              3、修改参数

              ENABLE_BLOB_CMP_FLAG: 是否支持大字段类型的比较。0:不支持;1:支持。设置为1后支持DISTINCT、ORDER BY、分析函数和集函数支持对大字段进行处理。

              查看参数:

                SQL>select para_name,para_value,para_type from v$dm_ini where para_name='ENABLE_BLOB_CMP_FLAG';

                修改参数:

                  SQL>sp_set_para_value(1,'ENABLE_BLOB_CMP_FLAG',1);
                  SQL>select id,content from test order by content;

                    SQL>select count(*) from test group by content;


                    总结
                    以上就是本期关于“报错-2685:试图在blob或者clob列上排序或比较
                    ”的错误处理方法。希望能给大家带来帮助。


                    2023年,达梦干货栏目会一如继往的给大家分享达梦数据库的相关知识。如果大家在工作中有好的想法也可以整理成文章发给我们,我们将在公众号分享给大家。欢迎投稿,期待与大家一同进步!

                    END


                    达梦知识普及

                    扫码关注我们
                    学习共享
                    知识普及


                    内容:林夕

                    排版:哈哈


                    文章转载自达梦E学,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                    评论