2013-12-13 124 views
1

我創建了一個加密表。我想在表格中搜索特定字符串不管的情況,但我不能讓它工作區分大小寫的aes_decrypt查詢

要搜索的字符串(職員)

select aes_decrypt(category, 'salt') from testtable where aes_decrypt(category, 'salt') like 'Staff' 

上面的查詢工作

select aes_decrypt(category, 'salt') from testtable where aes_decrypt(category, 'salt') like 'staff' 

上述查詢不起作用。我怎樣才能搜索'工作人員'不管案件

回答

0

將該值轉換爲latin1解決了區分大小寫的搜索。

select aes_decrypt(category, 'salt') from testtable where convert(aes_decrypt(category, 'salt') using latin1) like 'staff' 
0

它看起來像你的解密結果給你一個二進制字符串,這將導致大小寫比較。

,你可以:

select aes_decrypt(category, 'salt') 
from testtable 
where LOWER(aes_decrypt(category, 'salt')) like LOWER('staff') 

更好的解決方案是使用collate描述here