DBPARTITIONNUM

The DBPARTITIONNUM function returns the node number (database partition number) of a row.

DBPARTITIONNUM(table-designator)

If the argument identifies a non-distributed table, the value 0 is returned.1 For more information about nodes and node numbers, see the DB2® Multisystem book.

table-designator
A table designator of the subselect. For more information about table designators, see Table designators.

In SQL naming, the table name may be qualified. In system naming, the table name cannot be qualified.

The table-designator must not identify a collection-derived-table, a VALUES clause, a table-function, or a data-change-table-reference.

If the argument identifies a view, common table expression, or nested table expression, the function returns the node number of its base table. If the argument identifies a view, common table expression, or nested table expression derived from more than one base table, the function returns the node number of the first table in the outer subselect of the view, common table expression, or nested table expression.

The argument must not identify a view, common table expression, or nested table expression whose outer fullselect subselect includes an aggregate function, a GROUP BY clause, a HAVING clause, a UNION, INTERSECT, or EXCEPT clause, DISTINCT clause, VALUES clause, or a table-function. The DBPARTITIONNUM function cannot be specified in a SELECT clause if the fullselect contains an aggregate function, a GROUP BY clause, or a HAVING clause.

The data type of the result is a large integer. The result can be null.

Note

Syntax alternatives: NODENUMBER is a synonym for DBPARTITIONNUM.

Example

  • Determine the node number and employee name for each row in the EMPLOYEE table. If this is a distributed table, the number of the node where the row exists is returned.
      SELECT DBPARTITIONNUM(EMPLOYEE), LASTNAME
        FROM EMPLOYEE
1 If the argument identifies a DDS created logical file that is based on more than one physical file member, DBPARTITIONNUM will not return 0, but instead will return the underlying physical file member number.