表列的平均长度

d.r*_*aev 2 mysql

我有一个包含50多个VARCHAR(255)列的表.
主持人报告说,在少数字段中,有些内容被删除了250个字符.

检查这是预期的行为VARCHAR(255),我必须更新一些字段text.但问题是他们不能给我细节/指导哪些领域出问题.

所以我最好的猜测是分析当前数据并找到通常存储长内容的列.

是否有一个很好的查询结构我可以使用:
- 每列的AVG长度.
- 每列的最大长度.
- 此列的长度为200+的行数.

Art*_*rth 9

SELECT AVG(CHAR_LENGTH(col)) avg_length,
       MAX(CHAR_LENGTH(col)) max_length,
       COUNT(CASE WHEN CHAR_LENGTH(col) >= 200 THEN 1 ELSE NULL END) 200_plus_count
  FROM tbl;
Run Code Online (Sandbox Code Playgroud)