如何配置查询内容 大小写不敏感

【 TiDB 使用环境`】 测试环境
【 TiDB 版本】5.3.0
【遇到的问题】
【复现路径】
【问题现象及影响】
商品表 tb_gds 商品编码字段 c_gds_code
字段字母为大写。
查询语句 如下 不返回结果
select * from tb_gds where c_gds_code =‘hj123456’
查询语句 如下 返回结果
select * from tb_gds where c_gds_code =‘HJ123456’
如何配置 tidb 为查询数据 大小写不敏感?

1 个赞

先更改这个参数 new_collations_enabled_on_first_bootstrap,只能在集群初始化的时候更改。


不敏感,表的排序规则是 _general_ci

1 个赞

已经运行中的tidb集群,怎么更改?

因为该参数修改了 kv 存储的编码形式,目前还不支持在线修改,需要在 deploy 时,写到 topology 中进行使用,在线集群不支持修改。

1 个赞

当new_collations_enabled_on_first_bootstrap 参数为 true 且生效之后, show config 才能看到 utf8_general_ci 和 utf8mb4_general_ci 两种大小写和口音不敏感的排序规则是吗?

排序规则是否显示,应该和new_collations_enabled_on_first_bootstrap无关,我理解的是,new_collations_enabled_on_first_bootstrap 只会改变存数据的方式,所以改了排序规则之后,才可以正常的设置大小写不敏感

1 个赞

我的环境是 v4.0.6,目前 new_collations_enabled_on_first_bootstrap 参数为 false ,看不到utf8_general_ci 和 utf8mb4_general_ci 排序规则 , 明天需要测试一下

排序规则可以设置字段级,表级和库级,你直接show create table就能看到

建议你sql写的时候加上双引号。

我的 库和表都没特定这个参数, 都走全局设置

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。