- Categorias:
Funções de dados semiestruturados (Predicados de tipo)
TYPEOF¶
Relata o tipo de um valor armazenado em uma coluna de VARIANT. O tipo é retornado como cadeia de caracteres.
- Consulte também:
Sintaxe¶
TYPEOF( <expr> )
Argumentos¶
expr
O argumento pode ser um nome de coluna ou uma expressão geral.
Retornos¶
Retorna um VARCHAR que contém o tipo de dados da expressão de entrada, por exemplo, BOOLEAN
, DECIMAL
, ARRAY
, OBJECT
etc.
Exemplos¶
Criar uma tabela que contenha diferentes tipos de dados armazenados dentro de uma coluna VARIANT, depois usar TYPEOF
para determinar os tipos de dados de cada parte de dado.
Criar e preencher uma tabela. Observe que a instrução
INSERT
usa a funçãoPARSE_JSON
.create or replace table vartab (n number(2), v variant); insert into vartab select column1 as n, parse_json(column2) as v from values (1, 'null'), (2, null), (3, 'true'), (4, '-17'), (5, '123.12'), (6, '1.912e2'), (7, '"Om ara pa ca na dhih" '), (8, '[-1, 12, 289, 2188, false,]'), (9, '{ "x" : "abc", "y" : false, "z": 10} ') AS vals;Consultar os dados:
select n, v, typeof(v) from vartab order by n; +---+------------------------+------------+ | N | V | TYPEOF(V) | |---+------------------------+------------| | 1 | null | NULL_VALUE | | 2 | NULL | NULL | | 3 | true | BOOLEAN | | 4 | -17 | INTEGER | | 5 | 123.12 | DECIMAL | | 6 | 1.912000000000000e+02 | DOUBLE | | 7 | "Om ara pa ca na dhih" | VARCHAR | | 8 | [ | ARRAY | | | -1, | | | | 12, | | | | 289, | | | | 2188, | | | | false, | | | | undefined | | | | ] | | | 9 | { | OBJECT | | | "x": "abc", | | | | "y": false, | | | | "z": 10 | | | | } | | +---+------------------------+------------+