首页 > 解决方案 > MySql SELECT 语句,其中 LIKE 不返回结果

问题描述

当我包含时,MySql 语句不返回任何结果WHERE LIKE

陈述:

SELECT aes_decrypt(SchoolName, 'MyString') as SchoolName from SchoolList Where aes_decrypt(SchoolName, 'MyString') LIKE '% Part of School Name Here%'

如果我删除LIKE它有效

SELECT aes_decrypt(SchoolName, 'MyString') as SchoolName from SchoolList Where aes_decrypt(SchoolName, 'MyString') = 'School Name Here'

标签: mysqlwherewhere-clause

解决方案


您需要将结果aes_decrypt转换为 char 才能使用LIKE运算符:

SELECT aes_decrypt(SchoolName, 'MyString') as SchoolName 
from SchoolList 
Where cast(aes_decrypt(SchoolName, 'MyString') as CHAR) LIKE '% Part of School Name Here%'

请参阅此示例:https ://www.db-fiddle.com/f/m1ynqMzVqSs5yTeTmrqUbP/1


推荐阅读