开发者社区 > 数据库 > 数据仓库 > 正文

information_schema.columns 怎么varchar类型长度都是null? ![

information_schema.columns 怎么varchar类型长度都是null? image.png

展开
收起
真的很搞笑 2023-04-17 22:46:38 165 0
3 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    在阿里云云原生数据仓库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类型字段的最大长度。

    2023-04-30 11:21:52
    赞同 展开评论 打赏
  • 可以跟where条件的,参考文档:https://help.aliyun.com/document_detail/123689.html?spm=a2c4g.123585.0.0.6c6a1d3bL6auOG,此回答整理自钉群“云数据仓库ADB-开发者群”

    2023-04-19 08:06:15
    赞同 展开评论 打赏
  • 随心分享,欢迎友善交流讨论:)

    在information_schema.columns中,VARCHAR类型的长度是以字符为单位而不是字节为单位显示的。因此,对于VARCHAR类型的列,其长度都显示为NULL,这是正常的。

    在MySQL中,VARCHAR类型的长度是以字节为单位来计算的。如果需要获取VARCHAR类型的实际长度,可以使用LENGTH函数,如下所示:

    SELECT LENGTH(column_name) FROM table_name; 这将返回列名为“column_name”的表“table_name”中VARCHAR类型列的实际长度。

    2023-04-18 18:19:57
    赞同 展开评论 打赏
问答标签:

阿里云自主研发的云原生数据仓库,具有高并发读写、低峰谷读写、弹性扩展、安全可靠等特性,可支持PB级别数据存储,可广泛应用于BI、机器学习、实时分析、数据挖掘等场景。包含AnalyticDB MySQL版、AnalyticDB PostgreSQL 版。

热门讨论

热门文章

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载