OBJECT_ID_FROM_NODE_ID (Transact-SQL)
Applies to: SQL Server 2017 (14.x) and later Azure SQL Database Azure SQL Managed Instance
Returns the object ID for a given graph node ID.
Syntax
OBJECT_ID_FROM_NODE_ID ( node_id )
Arguments
node_id
The character representation (JSON) for one of the following items:
- The
$node_id
pseudo-column for a node table. - The
$from_id
pseudo-column for an edge table. - The
$to_id
column for an edge table.
Return value
Returns the object_id
for the graph table corresponding to the node_id
supplied. object_id
is an int. If an invalid node_id
is supplied, NULL is returned.
Remarks
- Owing to the performance overhead of parsing and validating the supplied character representation (JSON) of nodes, you should only use
OBJECT_ID_FROM_NODE_ID
where needed. In most cases, MATCH should be sufficient for queries over graph tables. - For
OBJECT_ID_FROM_NODE_ID
to return a value, the supplied character representation (JSON) of the node ID must be valid, and the namedschema.table
within the JSON, must be a valid node table. The graph ID within the character representation (JSON), need not exist in the node table. It can be any valid integer. OBJECT_ID_FROM_NODE_ID
is the only supported way to parse the character representation (JSON) of a node ID.
Examples
The following example returns the object_id
for all the $from_id
nodes in the likes
graph edge table. In the SQL Graph Database Sample, we only use the $node_id
values from the Person
table as the corresponding $from_id
values in likes
. Therefore, the values returned are constant and equal to the object_id
of the Person
table (1525580473 in this example).
SELECT OBJECT_ID_FROM_NODE_ID($from_id)
FROM likes;
Here are the results:
...
1525580473
1525580473
1525580473
...