GoogleSQL for SecOps supports the following utility functions.
Function list
| Name | Summary |
|---|---|
TYPEOF
|
Gets the name of the data type for an expression. |
TYPEOF
TYPEOF(expression)
Description
Takes an expression and gets the name of the data type for that expression.
Return type
STRING
Examples
The following example produces the name of the data type for the expression
passed into the TYPEOF function. When NULL is passed in, the
supertype, INT64, is produced.
SELECT
TYPEOF(NULL) AS A,
TYPEOF('hello') AS B,
TYPEOF(12+1) AS C,
TYPEOF(4.7) AS D
/*-------+--------+-------+--------+
| A | B | C | D |
+-------+--------+-------+--------+
| INT64 | STRING | INT64 | FLOAT64 |
+-------+--------+-------+--------*/
The following example produces the name of the data type for field y in a
struct.
SELECT
TYPEOF(STRUCT<x INT64, y STRING>(25, 'apples')) AS struct_type,
TYPEOF(STRUCT<x INT64, y STRING>(25, 'apples').y) AS field_type;
/*---------------------------+------------+
| struct_type | field_type |
+---------------------------+------------+
| STRUCT<x INT64, y STRING> | STRING |
+---------------------------+------------*/
The following example produces the name of the data type for elements in an array.
SELECT
TYPEOF(ARRAY<INT64>[25, 32]) AS array_type,
TYPEOF(ARRAY<INT64>[25, 32][0]) AS element_type;
/*--------------+--------------+
| array_type | element_type |
+--------------+--------------+
| ARRAY<INT64> | INT64 |
+--------------+--------------*/