variant_type_name¶
Description¶
Resolves the data type of a variant column so that column may be typed for better performance.
Given a variant value (typically, something you get from looking up a path or element in a JSON object or array,) determine what type that value has.
The possible types are:
“string”
“bool”
“float64”
“int64”
“object”
“array”
null
Return type¶
string
Domain¶
This is a scalar function (calculates a single output value for a single input row.)
Categories¶
Usage¶
variant_type_name(value)
Argument |
Type |
Optional |
Repeatable |
Restrictions |
---|---|---|---|---|
value |
variant |
no |
no |
none |
Examples¶
make_col obj:parse_json('{"str":"xx", "int":12345, "flt":3.1416, "bol":true, "obj":{}, "ary":[], "nul":null}')
make_col typ_str:variant_type_name(obj.str),
typ_int:variant_type_name(obj.int),
typ_flt:variant_type_name(obj.flt),
typ_bol:variant_type_name(obj.bol),
typ_obj:variant_type_name(obj.obj),
typ_ary:variant_type_name(obj.ary),
typ_nul:variant_type_name(obj.nul),
typ_xxx:variant_type_name(obj.xxx)
This code parses a JSON object from string, and then constructs a column containing the name of the type of each object in that made object. The values of the columns will be:
column |
value |
---|---|
typ_str |
“string” |
typ_int |
“int64” |
typ_flt |
“float64” |
typ_bol |
“bool” |
typ_obj |
“object” |
typ_ary |
“array” |
typ_nul |
“null” |
typ_xxx |
null |