需求:
为了避开特殊字符(如:单引号)影响,把某些字段保存为base64格式。
SQL语句直接解码base64编码数据,直接查询出原始数据。
表中数据如下
很不直观,当根据where条件查询时,肉眼不能直接从结果提取到可读信息。
如果要把结果直接导出,直接查询出解码后的数据,就不需要再写解码程序。
对于不懂开发的人,甚至直接丢给一条SQL就可以了。
不啰嗦了,重点只有一个
CAST(from_base64(`content`) as CHAR)
上边的查询语句:
SELECT id, CAST(from_base64(`url`) as CHAR) as url, CAST(from_base64(`content`) as CHAR) as content FROM `normal_text_content_2020-08-27-17` WHERE id = 13;
Mysql中Cast()函数的简单使用:
Cast(字段名 as 转换的类型 ),其中类型可以为:
CHAR[(N)] 字符型
DATE 日期型
DATETIME 日期和时间型
DECIMAL float型
SIGNED int
TIME 时间型
例如表table1date 2015-11-03 15:31:26select cast(date as signed) as date from table1;结果如下:date 20151103153126select cast(date as char) as date from table1;结果如下:date 2015-11-03 15:31:26select cast(date as datetime) as date from table1;结果如下:date 2015-11-03 15:31:26select cast(date as date) as date from table1;结果如下:date 2015-11-03select cast(date as time) as date from table1;结果如下:date 15:31:26这里date对应日期,time对应时间