MySQL-mysql中数据存储成二进制如何搜索不区分大小写?

发布于 2016-12-10 06:42:18 字数 153 浏览 1427 评论 3

由于数据保存为[BLOB - 8字节]二进制格式,搜索加上ucase也不生效,求解。

select * from file_list where ucase(filename) like '%TEST%'

目前数据库由于历史原因,没办法把字段改成TEXT类型。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

甜柠檬 2017-10-05 15:22:04

使用 CONVERT()函数字段值转化为一个不区分大小写的字符集:

select * from file_list where CONVERT(filename USING latin1) like '%TEST%'

可以根据自己的情况来规定字符集。

夜无邪 2017-04-28 04:09:41

二进制数据你是无法进行模糊查询的。建议重建一份冗余表或者利用Lucene等全文检索引擎将那个字段重建索引进行查询。

浮生未歇 2016-12-30 10:39:24

提供一个不完美但是可以解决问题的方案:
将BLOB字段导出成TEXT格式,保存为表中的另外一个字段,
然后搜索的时候使用导出字段。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文