mysql to_base64自动换行

admin 2024-08-12 16:29:59 数据库 来源:ZONE.CI 全球网 0 阅读模式

MySQL中to_base64函数可以将字符串编码为Base64编码。但是有时候编码的字符串比较长,如果不进行格式处理,可能导致在输出时出现行溢出的现象。这时我们就需要使用MySQL to_base64自动换行来解决这个问题。

SELECT TO_BASE64(REPEAT('A', 100)) AS output; 

mysql to_base64自动换行

输出的结果可能如下:

QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ 

可以看出,输出的字符串超过了一行的宽度。为了避免这种情况,我们可以使用MySQL to_base64自动换行:

SET SESSION group_concat_max_len = 1000000;
SELECT 
  GROUP_CONCAT(
    INSERT(
      TO_BASE64(REPEAT('A', 1000)), 
      FLOOR((5*ROW_NUMBER()-1)/4)*5+1, 
      0, 
      '\n'
    ) 
    SEPARATOR ''
  ) 
  AS `output`; 

执行上述代码,输出的结果可能如下:

QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUGBhCg
==

可以看到,MySQL to_base64自动换行将Base64编码的字符串分成了多行,每行都在合适的位置断开,非常方便我们查看和处理。

评论:0   参与:  38