information_schema.columns 怎么varchar类型长度都是null?
在阿里云云原生数据仓库AnalyticDB中,如果使用information_schema.columns
查询varchar
类型字段的长度时,确实会发现长度都是NULL
。
这是由于AnalyticDB中的varchar
类型是一个变长字符串类型,不需要预定义长度。因此,查询information_schema.columns
时返回的长度为NULL
,这是正常行为,不必过多关注。
如果你需要知道实际的varchar
类型字段的长度,可以通过查询表中每个varchar
类型字段的最大长度来获取。例如:
SELECT MAX(LENGTH(column_name)) FROM table_name;
这将返回表中column_name
字段的最大长度。此外,你还可以使用SHOW CREATE TABLE
命令查看表的创建语句,其中会包括每个varchar
类型字段的最大长度。
可以跟where条件的,参考文档:https://help.aliyun.com/document_detail/123689.html?spm=a2c4g.123585.0.0.6c6a1d3bL6auOG,此回答整理自钉群“云数据仓库ADB-开发者群”
在information_schema.columns中,VARCHAR类型的长度是以字符为单位而不是字节为单位显示的。因此,对于VARCHAR类型的列,其长度都显示为NULL,这是正常的。
在MySQL中,VARCHAR类型的长度是以字节为单位来计算的。如果需要获取VARCHAR类型的实际长度,可以使用LENGTH函数,如下所示:
SELECT LENGTH(column_name) FROM table_name; 这将返回列名为“column_name”的表“table_name”中VARCHAR类型列的实际长度。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云自主研发的云原生数据仓库,具有高并发读写、低峰谷读写、弹性扩展、安全可靠等特性,可支持PB级别数据存储,可广泛应用于BI、机器学习、实时分析、数据挖掘等场景。包含AnalyticDB MySQL版、AnalyticDB PostgreSQL 版。