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

Table24.56.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

Example24.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.