如果对应的元素类型不具有相同的数据类型,则 GBase 8s 可使用内置强制转型或用户定义的强制转型来对这些元素类型处理数据转换。
当数据库服务器对集合数据类型的值进行插入、更新或比较时,在元素数据类型级别进行类型检查。因此,在两种集合类型之间的强制转型中,由于存储在集合中的实际数据具有特定的元素类型,所以数据转换在元素类型的级别发生。
CREATE DISTINCT TYPE my_int AS INT; CREATE TABLE set_tab1 (col1 SET(my_int NOT NULL)); CREATE TABLE set_tab2 (col2 SET(INT NOT NULL)); CREATE TABLE set_tab3 (col3 SET(FLOAT NOT NULL)); CREATE TABLE list_tab (col4 LIST(INT NOT NULL)); CREATE TABLE m_set_tab(col5 MULTISET(INT NOT NULL));