DATAPARTITIONNAME
The DATAPARTITIONNAME function returns the partition name of where a row is located. If the argument identifies a non-partitioned table, an empty string is returned.
For more information about partitions, see the DB2® Multisystem topic collection.
- 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 partition name 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 partition name 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 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 DATAPARTITIONNAME 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 VARCHAR(18). The result can be null.
The CCSID of the result is the default CCSID of the current server.
Example
- Join the EMPLOYEE and DEPARTMENT tables, select the employee number
(EMPNO) and determine the partition from which each row involved in
the join originated.
SELECT EMPNO, DATAPARTITIONNAME(X), DATAPARTITIONNAME(Y) FROM EMPLOYEE X, DEPARTMENT Y WHERE X.DEPTNO=Y.DEPTNO