繁体   English   中英

如何选择表中包含最长字符串信息的文本列

[英]How to select textual columns of a table with the information about the longest string in them

我正在选择像这样的列:

    SELECT table_name, column_name
    FROM information_schema.`COLUMNS` 
    WHERE table_schema ='db_name' 
      AND data_type IN ('varchar', 'text') 
      AND table_name='table_name';

结果是每一行的表名和列名。 在第三列中,我希望在表的该列中看到最长字符串的多个字节。

当我尝试将数据从latin2转换为utf8时,我试图优化表,因为“行大小太大”。 错误。 所以我想尽可能将varchar(255)更改为较小的数字。 如果可能,我想避免将列更改为TEXT。

您要查找的mysql函数是length()函数http://dev.mysql.com/doc/refman/5.1/en/string-functions.html#function_length

max(length(COLUMN_NAME))group by语句结合使用,就可以了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM