首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >所有列的mySQL长度

问所有列的mySQL长度
EN

Stack Overflow用户
提问于 2012-11-16 15:54:17
回答 3查看 3.2K关注 0票数 2

我经常使用这样的SQL语句

代码语言:javascript
复制
SELECT LENGTH(col_name) FROM `table` WHERE *condition*

确定mySQL表格中给定行中特定列的内容的大小。但是,我不清楚是否有一条SQL语句可以获取给定行中所有列的内容长度之和。我应该补充说,所有有问题的列都是VARCHARS。

是的,我知道我可以通过将整个行取为

代码语言:javascript
复制
SELECT * FROM `table` WHERE *condition*

将结果行内容折叠成一个字符串,并获得该字符串的长度,但我想知道是否有更有效的一行程序来完成这项工作。任何建议都将不胜感激。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-11-16 16:05:15

嗯,我更喜欢使用CHAR_LENGTH over LENGTH

代码语言:javascript
复制
SELECT CHAR_LENGTH(CONCAT(col1,col2,col3)) 
FROM tableName 
WHERE...

从linked question

LENGTH()返回以字节为单位的字符串长度。

CHAR_LENGTH()返回以字符为单位的字符串长度。

票数 5
EN

Stack Overflow用户

发布于 2018-10-17 22:12:43

在不进入列名的情况下尝试此解决方案:

代码语言:javascript
复制
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;
票数 1
EN

Stack Overflow用户

发布于 2012-11-16 16:03:26

您是否尝试过:

从table WHERE条件中选择char_length(col_name)+char_length(col_name2)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13412508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档