Source: https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/fe/functions/system/ Documentation version: v5.3.2 # 系统信息函数 本文描述悦数图数据库开发版中的系统信息函数用法,适用于持久图和临时图。 本文介绍用于返回系统信息的函数。 ## typeof() 返回输入值的类型。 NULL 行为:通用 ### 函数签名 ```` typeof(input: E) -> STRING ```` `E`代表任意值类型,包括普通值类型、[图元素引用类型](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/data-types/graph-element-reference-type/)和[表类型](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/data-types/table-type/)。 ### 示例 #### 获取预定义数据类型 ```` ''' RETURN typeof(1) AS a, typeof("hello") AS b, typeof(null) AS c, typeof(true) AS d, typeof(CAST(1.5 AS UINT64)) AS e, typeof(zoned_datetime("2011-03-04T11:06:08Z")) AS f, typeof(duration({years:100, months:1}) ) AS g, typeof(VECTOR<3,float>([1.1,2.1,3.1])) AS h ''' ```` 返回: ```` +-------+--------+------+------+--------+---------------+----------+------------------+ | a | b | c | d | e | f | g | h | +-------+--------+------+------+--------+---------------+----------+------------------+ | INT32 | STRING | NULL | BOOL | UINT64 | ZONEDDATETIME | DURATION | VECTOR<3, FLOAT> | +-------+--------+------+------+--------+---------------+----------+------------------+ ```` #### 获取复合数据类型 ```` ''' RETURN typeof([1,2,3]) AS a, typeof({a:1, b:true}) AS b, typeof(SET {"a", "b", "c"}) AS c, typeof(MAP{"a":1, "b":2}) AS d ''' ```` 返回: ```` +-------------+-------------------------+-------------+--------------------+ | a | b | c | d | +-------------+-------------------------+-------------+--------------------+ | LIST | RECORD{a INT32, b BOOL} | SET | MAP | +-------------+-------------------------+-------------+--------------------+ ```` #### 获取图元素引用值的类型 ```` ''' USE movie MATCH p = (a@Actor)-[e]->(b@Movie) RETURN typeof(p) AS p_type, typeof(a) AS a_type, typeof(e) AS e_type LIMIT 1 ''' ```` 返回: ```` +--------+---------------+------------------------------+ | p_type | a_type | e_type | +--------+---------------+------------------------------+ | PATH | Node<(Actor)> | Edge<(Actor)-[Act]->(Movie)> | +--------+---------------+------------------------------+ ```` #### 获取表类型 ```` ''' TABLE t TYPED TABLE { id INT64, name STRING } = { id: 10001, name: 'Alice' }, { id: 10002, name: 'Bob' } RETURN typeof(t) AS t_type ''' ```` 返回: ```` +-------------------------------+ | t_type | +-------------------------------+ | TABLE {id INT64, name STRING} | +-------------------------------+ ````