如何在 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
.
我在名称 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
.