我经常使用这样的SQL语句
SELECT LENGTH(col_name) FROM `table` WHERE *condition*确定mySQL表格中给定行中特定列的内容的大小。但是,我不清楚是否有一条SQL语句可以获取给定行中所有列的内容长度之和。我应该补充说,所有有问题的列都是VARCHARS。
是的,我知道我可以通过将整个行取为
SELECT * FROM `table` WHERE *condition*将结果行内容折叠成一个字符串,并获得该字符串的长度,但我想知道是否有更有效的一行程序来完成这项工作。任何建议都将不胜感激。
发布于 2012-11-16 16:05:15
嗯,我更喜欢使用CHAR_LENGTH over LENGTH
SELECT CHAR_LENGTH(CONCAT(col1,col2,col3))
FROM tableName
WHERE...LENGTH()返回以字节为单位的字符串长度。
CHAR_LENGTH()返回以字符为单位的字符串长度。
发布于 2018-10-17 22:12:43
在不进入列名的情况下尝试此解决方案:
SELECT SUM(character_maximum_length) length,
table_name
FROM information_schema.columns
WHERE table_name='your_table_name_here'
AND table_schema=DATABASE()
-- AND column_name IN ('choose', 'columns')
GROUP BY table_name;发布于 2012-11-16 16:03:26
您是否尝试过:
从table WHERE条件中选择char_length(col_name)+char_length(col_name2)
https://stackoverflow.com/questions/13412508
复制相似问题