对象函数
创建 SUPER 数据类型的对象。
语法
OBJECT ( [ key1, value1 ] [, key2, value2 ...] )
Arguments
- key1, key2
-
计算结果为 VARCHAR 类型字符串的表达式。
- value1, value2
-
除日期时间类型以外的任何 Amazon Redshift 数据类型的表达式,因为 Amazon Redshift 不会将日期时间类型强制转换为 SUPER 数据类型。有关日期时间类型的更多信息,请参阅日期时间类型。
对象中的
value表达式无需为同一数据类型。
返回值
对象函数返回 SUPER 数据类型。
示例
--creates an empty object select object(); object -------- {} (1 row) --creates objects with different keys and values select object('a', 1, 'b', true, 'c', 3.14); object --------------------------- {"a":1,"b":true,"c":3.14} (1 row) select object('a', object('aa', 1), 'b', array(2,3), 'c', json_parse('{}')); object --------------------------------- {"a":{"aa":1},"b":[2,3],"c":{}} (1 row) --creates objects using columns from a table create table bar (k varchar, v super); insert into bar values ('k1', json_parse('[1]')), ('k2', json_parse('{}')); select object(k, v) from bar; ------------ {"k1":[1]} {"k2":{}} (2 rows) --errors out because DATE type can't be converted to SUPER type select object('k', '2008-12-31'::date); ERROR: OBJECT could not convert type date to super