标识符

在 IoTDB 中,标识符用于标识 database、table、column、function 或其他对象名称。

1. 命名规则

  • 开头字符:标识符必须以字母或下划线开头。
  • 后续字符:可以包含字母、数字和下划线。
  • 特殊字符:如果标识符包含除字母、数字和下划线之外的其他字符,必须用双引号(")括起来。
  • 转义字符:在双引号定界的标识符中,使用两个连续的双引号("")来表示一个双引号字符。

1.1 示例

以下是一些有效的标识符示例:

test
"table$partitions"
"identifierWith"
"double"
"quotes"

无效的标识符示例,使用时必须用双引号引用:

table-name // 包含短横线
123SchemaName // 以数字开头
colum$name@field  // 包含特殊字符且未用双引号括起

2. 大小写敏感性

标识符不区分大小写,且系统存储标识符时不保留原始大小写,查询结果会根据用户在SELECT子句中指定的大小写显示列名。

双引号括起来的标识符也不区分大小写。

2.1 示例

当创建了一个名为 Device_id 的列,在查看表时看到为 device_id,但返回的结果列与用户查询时指定的格式保持相同为Device_ID

IoTDB> create table table1(Device_id STRING TAG, Model STRING ATTRIBUTE, TemPerature FLOAT FIELD, Humidity DOUBLE FIELD)

IoTDB> desc table1;
+-----------+---------+-----------+
| ColumnName| DataType|   Category|
+-----------+---------+-----------+
|       time|TIMESTAMP|       TIME|
|  device_id|   STRING|        TAG|
|      model|   STRING|  ATTRIBUTE|
|temperature|    FLOAT|      FIELD|
|   humidity|   DOUBLE|      FIELD|
+-----------+---------+-----------+

IoTDB> select TiMe, Device_ID, MoDEL, TEMPerature, HUMIdity from table1;
+-----------------------------+---------+------+-----------+--------+
|                         TiMe|Device_ID| MoDEL|TEMPerature|HUMIdity|
+-----------------------------+---------+------+-----------+--------+
|1970-01-01T08:00:00.001+08:00|       d1|modelY|       27.2|    67.0|
+-----------------------------+---------+------+-----------+--------+