
# 向量数据类型
向量数据类型包含floatvector和boolvector两种类型。
- floatvector数据类型是指多维数据中含有的数据为float类型，例如\[1.0,3.0,11.0,110.0,62.0,22.0,4.0\]。
  ![](https://support.huaweicloud.com/centralized-vector-devg-v10-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  - floatvector成员仅支持单精度。单精度范围为-3.402E+38\~+3.402E+38，6位十进制数字精度。
  
  - floatvector不支持NULL、Nan、Inf作为元素，当向量中含有NULL值，数据库会报错。
  
  - floatvector不能为NULL，当插入、更新或转换NULL值作为向量数据时，数据库会报错。
    
- boolvector数据类型是指多维数据中含有的数据为bool类型，例如\[0,0,0,0,0,1,0,0,1,0,0,0\]。
  ![](https://support.huaweicloud.com/centralized-vector-devg-v10-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  - boolvector成员可使用t(T)\\f(F)、y(Y)\\n(N)、1\\0、true\\false、yes\\no、on\\off等方式表达布尔型数据。
  
  - boolvector不支持NULL、Nan、Inf作为元素，当向量中含有NULL值，数据库会报错。
  
  - boolvector不能为NULL，当插入、更新或转换NULL值作为向量数据时，数据库会报错。
    
#### 向量类型的使用
向量类型的使用示例如下：
```
-- 创建包含向量类型的表，同时设定数据维度。建表时向量类型必须要指定维度。
gaussdb=# CREATE TABLE t1(id int unique, repr floatvector(4));
gaussdb=# CREATE TABLE t2(id int unique, repr boolvector(3));
-- 插入数据。
gaussdb=# INSERT INTO t1 VALUES(0, '[30, 12, 12, 25]');
gaussdb=# INSERT INTO t2 VALUES(1, '[1, 0, 1]');
-- 删除表。
gaussdb=# DROP TABLE t1;
gaussdb=# DROP TABLE t2;
```
