下面是一个数据库结构来说明我的问题
CREATE TABLE `company` (
`company_id` int(11) NOT NULL,
`name` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
当我添加一个名称超过10个字符的公司时,它将被截断。所以当我搜索公司的全名时,我找不到它。
问题:我怎样才能得到« name »列的最大长度(在这个例子中是10),以便能够截断并使用« SUBSTRING()»进行研究
注意:上下文不允许更改名称的最大长度
2条答案
按热度按时间o2rvlv0m1#
最好的方法是查询
information_schema
。像这样的东西应该为你工作。你会得到一个你想要的长度的一行结果集。
你可以用一个(nasty!)这样的查询模式。
或者,您可以尝试使用会话变量来执行这种(可读性更强的)连续查询对。
qoefvg9y2#
你是说你在搜索类似
?
LEFT()
文档要获得varchar列的长度,必须查询information_schema。
所以你的查询变成了