TDengine 新功能 VARBINARY 数据类型

1. 背景

VARBINARY 数据类型用于存储二进制数据,与 MySQL 中的 VARBINARY 数据类型功能相同,VARBINARY 数据类型长度可变,在创建表时指定最大字节长度,使用进按需分配存储,但不能超过建表时指定的最大值。

2. 功能说明

长度限制

VARBINARY 数据列最大长度为65517个字节(约等于64KB),VARBINARY 标签列最大长度为16382个字节(约等于16KB)因为需要满足每行数据总长度不超过64KB,标签总长度不超过16KB的约束。

SQL 语法

CREATE TABLE stb (ts timestamp, c1 varbinary(5120), c3 float) TAGS (t1 int, t2 binary(8), t3 varbinary(8))

使用

  1. 写入16进制表示的二进制数据,以 \x 开头,必须是16进制合法的字符,必须偶数个字符。

insert into tb3 using stb tags (3, 'tb3_bin1', '\x7f8290') values (now + 2s, 'nchar1', '\x7f8290', 0.3)

  1. 写入字符串,数据库里将存储字符串相应编码的二进制内容。

insert into tb1 using stb tags (1, 'tb1_bin1', 'vart1') values (now, 'nchar1', 'varc1', 0.3)

  1. 其他写入类型报错

insert into tb3 using stb tags (3, 'tb3_bin1', '\x7f8290') values (now + 2s, 'nchar1', '\x7f8290', 0.3)

  1. 查询结果以16进制 \x开头显示
  1. VARBINARY 操作符和谓词支持
  1. 不支持的操作符和谓词

算术运算符,位运算符,[NOT] LIKE/MATCH/NMATCH/->/CONTAINS

  1. 支持的操作符和谓词

比较运算符(按字节从左到右比较,相同时更长的大)

IS [NOT] NULL/[NOT] BETWEEN AND/[NOT] IN

  1. VARBINARY 类型仅支持如下函数操作

First/last/last_row/count/hyperloglog/sample/tail/mode/cast

cast函数不支持 VARBINARY 转成其他类型;

其他类型只有 varchar 可以转换为VARBINARY(和写入一致)

  1. VARBINARY 类型支持 schemaless 方式写入

同sql写入一样,可以写入16进制表示的二进制数据,以 \x 开头,或者写入字符串

VARBINARY类型需以 b/B 开头

  1. VARBINARY 类型支持 stmt 方式写入 示例

  2. VARBAINRY 存储

VARBINARY 存储格式和 binary 类型一样,前两个字节是长度,后面是内容,只不过内容里是二进制类型,不一定是可打印字符

  1. 和 BINARY 类型区别

TDengine 里 binary 类型实际是 varchar,是用来存储可打印字符的,和MYSQL 中 binary 类型不一样,由于历史原因保留而已,所以实际可显示字符串不建议用再用 binary 类型,用 varchar 代替

相关推荐
开-悟几秒前
嵌入式编程-使用AI查找BUG的启发
c语言·人工智能·嵌入式硬件·bug
bxlj_jcj32 分钟前
深入Flink核心概念:解锁大数据流处理的奥秘
大数据·flink
云资源服务商34 分钟前
阿里云Flink:开启大数据实时处理新时代
大数据·阿里云·云计算
Edingbrugh.南空38 分钟前
Flink SQLServer CDC 环境配置与验证
数据库·sqlserver·flink
码不停蹄的玄黓1 小时前
MySQL分布式ID冲突详解:场景、原因与解决方案
数据库·分布式·mysql·id冲突
爱上语文1 小时前
Redis基础(6):SpringDataRedis
数据库·redis·后端
Aurora_NeAr1 小时前
Spark SQL架构及高级用法
大数据·后端·spark
王小王-1231 小时前
基于Hadoop的公共自行车数据分布式存储和计算平台的设计与实现
大数据·hive·hadoop·分布式·hadoop公共自行车·共享单车大数据分析·hadoop共享单车
Java初学者小白2 小时前
秋招Day14 - Redis - 应用
java·数据库·redis·缓存
数据与人工智能律师2 小时前
数字资产革命中的信任之锚:RWA法律架构的隐形密码
大数据·网络·人工智能·云计算·区块链