如何在 MySQL 中取消十六进制并进行不区分大小写的搜索?

How can I unhex and make case-insensitive search in MySQL?

我在名称 MYDATA 列中有一些十六进制格式的数据。我想对关键字(例如:absent)进行不区分大小写的搜索,并以 UNHex 格式获得结果。我正在使用以下语句:

 SELECT ADDRESS , DESTINATION , UNHEX(MYDATA) FROM DataBaseName.TableName
 WHERE LOWER(UNHEX(MYDATA)) LIKE LOWER('%absent%')

问题:语句在查询中被接受,没有错误,但 returns 零记录。因为在指定的数据库中有关键字类似于 ABSENT 和 Absent 的数据。

SELECT ADDRESS , DESTINATION , CAST(UNHEX(MYDATA) AS CHAR) FROM DataBaseName.TableName WHERE LOWER(CAST(UNHEX(MYDATA) AS CHAR)) LIKE '%absent%'

试试上面的查询。如答案中所述,您可以尝试使用 CAST.