确定mysql中列中允许的最大长度

时间:2011-02-14 09:08:48

标签: mysql

表的结构如下:

registrant_id   varchar(16)
registrant_name     varchar(128)

我想运行一个查询,显示所有符合最大允许长度的条目,即我目前为上述做的事情:

SELECT *
FROM `tm_registrant`
WHERE length( `registrant_name` ) = 128

但是,我不想硬编码128,因为我有很多列,并且想要运行一个查询来查看至少有一个完全“填满”列的所有条目。

2 个答案:

答案 0 :(得分:6)

SELECT CHARACTER_MAXIMUM_LENGTH
  FROM INFORMATION_SCHEMA.COLUMNS
 WHERE table_name = 'your_table_name'
   AND table_schema = 'your_db_name'
   AND column_name = 'your_column_name'
 LIMIT 0 , 1

答案 1 :(得分:1)

您可以使用left,right和len组合在SQL语句中使用此命令提取varchar字段的长度: 显示来自tablename1的字段其中Field ='registrant_name'

或者您可以查看NFORMATION_SCHEMA.COLUMNS http://dev.mysql.com/doc/refman/5.1/en/columns-table.html