表的结构如下:
registrant_id varchar(16)
registrant_name varchar(128)
我想运行一个查询,显示所有符合最大允许长度的条目,即我目前为上述做的事情:
SELECT *
FROM `tm_registrant`
WHERE length( `registrant_name` ) = 128
但是,我不想硬编码128,因为我有很多列,并且想要运行一个查询来查看至少有一个完全“填满”列的所有条目。
答案 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