我有一个longblob列,该列存储一些记录的文本数据和其他记录的二进制数据。我的数据库设置为不区分大小写。有没有办法写这样的选择

select * from myTable where blobCol like '%example%'


这样,结果中包含“示例”和“示例”文字的地方?

最佳答案

我真的不知道“我的数据库设置为不区分大小写”在您的情况下是什么意思,但是如果您要使用不区分大小写的搜索,那么我认为最佳实践是将字符串转换为小写然后进行比较:

select * from myTable where LOWER(blobCol) like '%example%'

此代码将找到以下所有字符串:example,Example,EXAMPle,...示例

更新:
我还根据要求添加了从Blob到文本的转换:

select * from myTable where LOWER( CONVERT(blobCol USING utf8) ) like '%example%'

关于mysql - 如何从MySQL longblob中选择文本数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47772574/

10-11 02:57
查看更多