基本上 - 它的故事很长 - 但我在数据库中有一个字段,编码为base64字符串.
EG:这存储在数据库中:
YToyOntzOjIwOiJUeXBlX29mX29yZ2FuaXNhdGlvbiI7czoyMDoiTWVtYmVyIG9mIFBhcmxpYW1lbnQiO3M6ODoiUG9zdGNvZGUiO3M6NzoiUEUxIDFKQSI7fQ==
Run Code Online (Sandbox Code Playgroud)
这相当于:
a:2:{s:20:"Type_of_organisation";s:20:"Member of Parliament";s:8:"Postcode";s:7:"#postcode#";}
Run Code Online (Sandbox Code Playgroud)
我想要做的是选择此字符串的位置LIKE '%Member of Parliament%'.在执行之前,有没有办法对mysql列进行base64解码WHERE?
例如: SELECT * FROM table WHERE base64_decode(column) LIKE '%Member of Parliament%'
谢谢
Boy*_*ema 29
如果您使用的是MySQL 5.6.1或更高版本,则可以使用FROM_BASE64()函数:
采用由TO_BASE64()使用的base-64编码规则编码的字符串,并将解码结果作为二进制字符串返回.如果参数为NULL或不是有效的base-64字符串,则结果为NULL.有关编码和解码规则的详细信息,请参阅TO_BASE64()的说明.
MySQL 5.6.1中添加了此功能.
mysql> SELECT TO_BASE64('abc'),FROM_BASE64(TO_BASE64('abc')); - >'JWJj','abc'
否则,您可以使用以下用户定义函数:https://github.com/y-ken/mysql-udf-base64
| 归档时间: |
|
| 查看次数: |
39931 次 |
| 最近记录: |