Name
name_part — Returns portion of dotted name such as a fully qualified table name.
Synopsis
varchar
name_part
(
|
in string varchar , |
| in idx integer , | |
in
dstring
varchar
); |
Description
The
name_part()
can be used to dissecting parts of a three part names (string
where items are divided by dots ".") such as table names or columns names. The table
name "DB"."DBA"."SYS_USERS" contains three parts which can be extracted individually
using this function providing the correct index from a 0 base: 0 would return "DB",
1 would return "DBA", 2 would return "SYS_USERS".
Parameters
string
The string to be disected.
idx
The part index starting from 0.
dstring
The default value if the found value is null.
Return Types
A string will be returned containing the text from the specified index.
Errors
Table 24.55. Errors signalled by
| SQLState | Error Code | Error Text | Description |
|---|---|---|---|
| 22023 | SR014 | Function name_part needs a string as argument 1, not an arg of type [type] | |
| 22023 | SR008 | Function name_part needs an integer as argument 2, not an arg of type [type] |
Examples
Example 24.224. Using the name_part() function
This simple example shows the 3 parts of a table name being retrieved using the name_part() function from ISQL.
SQL> select name_part('"DB"."DBA"."SYS_TABLES"', 0);
callret
VARCHAR
__________________________________________________________
"DB"
1 Rows. -- 20 msec.
SQL> select name_part('"DB"."DBA"."SYS_TABLES"', 1);
callret
VARCHAR
__________________________________________________________
"DBA"
1 Rows. -- 30 msec.
SQL> select name_part('"DB"."DBA"."SYS_TABLES"', 2);
callret
VARCHAR
__________________________________________________________
SYS_TABLES"
1 Rows. -- 20 msec.