- 类别:
半结构化和结构化数据函数 (类型转换)
AS_ARRAY¶
将 VARIANT 值转换为数组。
语法¶
AS_ARRAY( <variant_expr> )
实参¶
variant_expr
VARIANT 类型值计算的表达式。
使用说明¶
如果
variant_expr
不包含 ARRAY 类型的值,则函数返回 NULL。
此函数不支持将 结构化类型 作为输入实参。
示例¶
这显示了该函数的使用方法:
创建表和数据:
CREATE TABLE multiple_types ( array1 VARIANT, array2 VARIANT, boolean1 VARIANT, char1 VARIANT, varchar1 VARIANT, decimal1 VARIANT, double1 VARIANT, integer1 VARIANT, object1 VARIANT ); INSERT INTO multiple_types (array1, array2, boolean1, char1, varchar1, decimal1, double1, integer1, object1) SELECT TO_VARIANT(TO_ARRAY('Example')), TO_VARIANT(ARRAY_CONSTRUCT('Array-like', 'example')), TO_VARIANT(TRUE), TO_VARIANT('X'), TO_VARIANT('I am a real character'), TO_VARIANT(1.23::DECIMAL(6, 3)), TO_VARIANT(3.21::DOUBLE), TO_VARIANT(15), TO_VARIANT(TO_OBJECT(PARSE_JSON('{"Tree": "Pine"}'))) ;现在运行查询。存储为 VARIANT 值的 True 数组将转换回 ARRAY 值。但是,列 Object1 中的值(若不是 True ARRAY)将转换为 NULL。
SELECT AS_ARRAY(array1) AS "ARRAY1", AS_ARRAY(array2) AS "ARRAY2", AS_OBJECT(object1) AS "OBJECT", AS_ARRAY(object1) AS "OBJECT AS ARRAY" FROM multiple_types; +-------------+-----------------+------------------+-----------------+ | ARRAY1 | ARRAY2 | OBJECT | OBJECT AS ARRAY | |-------------+-----------------+------------------+-----------------| | [ | [ | { | NULL | | "Example" | "Array-like", | "Tree": "Pine" | | | ] | "example" | } | | | | ] | | | +-------------+-----------------+------------------+-----------------+