AS_<type>(Lakehouse v1)
将 VARIANT 值严格转换为其他数据类型。
如果输入数据类型不是 VARIANT,则输出为 NULL。
如果 VARIANT 中值的类型与输出类型不匹配,则输出为 NULL。
Analyze 语法
Section titled “Analyze 语法”func.as_boolean( <variant> )func.as_integer( <variant> )func.as_float( <variant> )func.as_string( <variant> )func.as_array( <variant> )func.as_object( <variant> )SQL 语法
Section titled “SQL 语法”AS_BOOLEAN( <variant> )AS_INTEGER( <variant> )AS_FLOAT( <variant> )AS_STRING( <variant> )AS_ARRAY( <variant> )AS_OBJECT( <variant> )| 参数 | 说明 |
|---|---|
<variant> |
VARIANT 值 |
- AS_BOOLEAN: BOOLEAN
- AS_INTEGER: BIGINT
- AS_FLOAT: DOUBLE
- AS_STRING: VARCHAR
- AS_ARRAY: 包含数组的 Variant
- AS_OBJECT: 包含对象的 Variant
SQL 示例
Section titled “SQL 示例”SELECT as_boolean(parse_json('true'));┌────────────────────────────────┐│ as_boolean(parse_json('true')) │├────────────────────────────────┤│ 1 │└────────────────────────────────┘
SELECT as_integer(parse_json('123'));┌───────────────────────────────┐│ as_integer(parse_json('123')) │├───────────────────────────────┤│ 123 │└───────────────────────────────┘
SELECT as_float(parse_json('12.34'));┌───────────────────────────────┐│ as_float(parse_json('12.34')) │├───────────────────────────────┤│ 12.34 │└───────────────────────────────┘
SELECT as_string(parse_json('"abc"'));┌────────────────────────────────┐│ as_string(parse_json('"abc"')) │├────────────────────────────────┤│ abc │└────────────────────────────────┘
SELECT as_array(parse_json('[1,2,3]'));┌─────────────────────────────────┐│ as_array(parse_json('[1,2,3]')) │├─────────────────────────────────┤│ [1,2,3] │└─────────────────────────────────┘
SELECT as_object(parse_json('{"k":"v","a":"b"}'));┌────────────────────────────────────────────┐│ as_object(parse_json('{"k":"v","a":"b"}')) │├────────────────────────────────────────────┤│ {"k":"v","a":"b"} │└────────────────────────────────────────────┘