首页 > 代码库 > 【MySQL】使用Length和Cast函数计算TEXT类型字段的长度
【MySQL】使用Length和Cast函数计算TEXT类型字段的长度
背景:
前段时间,业务需要,为了快速让解析的Excel入库,所以把不是很确定的字段全部设置成了TEXT。
今天需要进行表结构优化,把字段长度控制在合适的范围,并尽量不使用TEXT类型。
-- 计算长度
select LENGTH(CAST(fileName AS CHAR)) from files;
select MAX(LENGTH(CAST(fileName AS CHAR))) from files;
select LENGTH(CAST(fileName AS CHAR)) as le from files HAVING le > 20;
-- 尝试转为VARCHAR类型进行计算,但是报错,也许是因为VARCHAR是变长的,在一个变长的类型上进行长度计算是不合理的。
-- 这点不是很清楚,等以后学艺更精的时候再解释吧。
select LENGTH(CAST(fileName AS VARCHAR)) from files;
[SQL]select LENGTH(CAST(fileName AS VARCHAR)) from files;
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘VARCHAR)) from files‘ at line 1
【MySQL】使用Length和Cast函数计算TEXT类型字段的长度
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。