更新时间:2026-07-20 GMT+08:00
分享

数据类型转换

向量数据库支持向量数据类型之间的转换,数据类型转换中向量数据类型可以和相对应的数组类型进行自由显式转换:array<->vector。
  • array -> vector

    使用函数,显式转换。

    gaussdb=# SELECT floatvector(ARRAY[1,2,9.3]);
  • vector -> array

    使用函数,显式转换。

    gaussdb=# SELECT vector_to_array(floatvector('[1,2,9.3]'));
  • string -> vector
    显式转换。
    gaussdb=# CREATE TABLE t1 (id int, b varchar);
    gaussdb=# INSERT INTO t1 VALUES (1, '[2.3, 1.8, 3.6]');
    gaussdb=# SELECT '[1,2,3]' <-> b::floatvector from t1;
    gaussdb=# SELECT '[1,2,3]' <-> CAST(b AS floatvector) from t1;

    隐式转换。

    gaussdb=# CREATE TABLE t2 (b floatvector(3));
    gaussdb=# INSERT INTO t2 VALUES ('[2.3, 1.8, 3.6]');
    gaussdb=# SELECT '[1,2,3]' <-> b from t2;
    表1 字符类型、向量类型转换映射关系

    转换方式

    支持转换类型

    CAST(::)

    • char(n)
    • character(n)
    • nchar(n)
    • varchar(n)
    • character varying(n)
    • varchar2(n)
    • nvarchar2
    • clob
    • text
    • bpchar

    隐式转换

    unknown(如果没有为字符串文本声明类型,则该文本首先被定义成一个unknown类型。参见《参考》中SQL参考 > 类型转换章节内容。)

相关文档