Clob字段支持like查询及索引

发布时间 2023-05-30 19:44:46作者: 召冠

      记不清是从哪里的结论,一直以来印象里CLOB字段是不支持like关键字查询的(至少Oracle等部分数据库不支持),网上也能搜到一堆说是需要进行函数转换后才可以进行like的帖子、文章,今天实际测试验证SQL Server、Oracle、PgSQL、MySQL、DB2、DM、KingBase、Oscar,均支持like操作。估计是CLOB字段不支持创建索引,结果被误传了,真是害人不浅。


      另外,DM有个长度限制,如果超出会报:“报字符串截断”的错误。不过,DM也提供了CLOB_LIKE_MAX_LEN 参数,可以自定义配置“限制 LIKE 语句中CLOB类型的最大长度(单位KB)”,有效值范围(8~102400)默认值为31K(DM8中默认值为10240)。


查询及设置参数值的命令:

select para_name,para_value from v$dm_ini where para_name ='CLOB_LIKE_MAX_LEN';

sp_set_para_value(2, 'CLOB_LIKE_MAX_LEN', 10240);


需要注意:CLOB_LIKE_MAX_LEN属于静态参数,需重启数据库使参数生效。