SET는 각 원소가 서로 다른 값을 갖는 집합이다. SET의 원소는 여러 종류의 데이터 타입을 가질 수 있고, 다른 클래스의 인스턴스를 가질 수도 있다.
csql> CREATE TABLE set_tbl ( col_1 set(int, CHAR(1)));
csql> INSERT INTO set_tbl VALUES ({3,3,3,2,2,1,0,'c','c','c','b','b','a'});
csql> INSERT INTO set_tbl VALUES ({NULL});
csql> INSERT INTO set_tbl VALUES ({''});
csql> SELECT * FROM set_tbl;
csql> ;xr
=== <Result of SELECT Command in Line 1> ===
col_1
======================
{0, 1, 2, 3, 'a', 'b', 'c'}
{NULL}
{' '}
csql> SELECT CAST(col_1 AS MULTISET), CAST(col_1 AS LIST) FROM set_tbl;
csql> ;xr
=== <Result of SELECT Command in Line 1> ===
cast(col_1 as multiset) cast(col_1 as sequence)
============================================
{0, 1, 2, 3, 'a', 'b', 'c'} {0, 1, 2, 3, 'a', 'b', 'c'}
{NULL} {NULL}
{' '} {' '}
csql> INSERT INTO set_tbl VALUES ('');
ERROR: Cannot coerce '' to type set.
ERROR: Incompatible data type on attribute col_1.