You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CnosDB的普通SELECT语句中区分tags与fields?

CnosDB快速区分tags与fields的方法

有两种可靠的简便方法,不需要靠查询结果的列顺序猜:

  • 直接查询表元数据,是最准确的方式
    执行SHOW TAG KEYS FROM <表名>,返回结果中列出的列全部为tag列;执行SHOW FIELD KEYS FROM <表名>,返回的列全部为field列,同时会返回每个field对应的数据类型。
    以示例中的air表为例:
    -- 查询指定表的所有tag列
    SHOW TAG KEYS FROM air;
    
    执行后会返回station这一个tag列;再执行查询field的语句:
    -- 查询指定表的所有field列
    SHOW FIELD KEYS FROM air;
    
    会返回pressure、temperature、visibility三个field列,和表的实际结构完全一致。
  • 开启客户端元数据显示,查数据时同步识别
    如果你使用官方命令行工具cnos-cli,可以在执行查询前运行如下设置命令:
    SET DISPLAY_META = true;
    
    开启后再执行普通SELECT查询,返回结果会在每个列名下方标注列属性:tag列会明确标记为TAG,field列会标记对应的数据类型(比如BIGINT、DOUBLE、STRING等),查业务数据的同时就能直接区分两类列,不需要额外查询元数据。

注意:默认的SELECT查询输出不会对tag和field做特殊标识,也不会强制按照time、tag、field的顺序排列输出列,靠列的位置判断类型是不可靠的。

内容的提问来源于stack exchange,提问作者Munin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 22:42:33