My Life My Dream!

守信 求实 好学 力行
随笔 - 193, 文章 - 0, 评论 - 55, 阅读 - 34万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

【问题记录】Clob字段支持like查询及索引

Posted on   召冠  阅读(928)  评论(0编辑  收藏  举报

      记不清是从哪里的结论,一直以来印象里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属于静态参数,需重启数据库使参数生效。


相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示