DELIMIDENT environment variable
The DELIMIDENT environment variable specifies that strings enclosed between double quotation ( " ) marks are delimited database identifiers.
- y specifies that client applications must use single quotation ( ' ) symbols to delimit character strings, and must use double quotation ( " ) symbols only around delimited SQL identifiers, which can support a larger character set than is valid in undelimited identifiers. Letters within delimited strings or delimited identifiers are case-sensitive. This is the default value for OLE DB and .NET.
- n specifies that client applications can use double quotation
( " ) or single quotation ( ' ) symbols to delimit character strings,
but not to delimit SQL identifiers. If the database server encounters
a string delimited by double or single quotation symbols in a context
where an SQL identifier is required, it issues an error. An owner
name that qualifies an SQL identifier can be delimited by single quotation
( ' ) symbols. You must use a pair of the same quotation symbols
to delimit a character string.
This is the default value for ESQL/C, JDBC, and ODBC. APIs that have ESQL/C as an underlying layer, such as IBM® Informix® 4GL, the DataBlade API (LIBDMI), and the C++ API, behave as ESQL/C, and use 'n' as the default if no value for DELIMIDENT is specified on the client system.
- Specifying the DELIMIDENT environment variable with no value on the client system requires client applications to use the DELIMIDENT setting that is the default for their application programming interface (API).
>>-setenv--DELIMIDENT------------------------------------------><
No value is required; DELIMIDENT takes effect if it exists, and it remains in effect while it is on the list of environment variables. Removing DELIMIDENT when it is set at the server level requires restarting the server.
Delimited identifiers can include white space (such as the phrase "Vitamin E") or can be identical to SQL keywords, (such as "TABLE" or "USAGE"). You can also use them to declare database identifiers that contain characters outside the default character set for SQL identifiers (such as "Column #6"). In the default locale, this set consists of letters, digits, and the underscore ( _ ) symbol.
RENAME COLUMN 'Owner'.table2.collum3 TO column3;
This
example is an exception to the general rule that when DELIMIDENT is
set, the SQL parser interprets character strings delimited by single
quotation symbols as string literals, and interprets character strings
delimited by double quotation symbols ( " ) as SQL identifiers.Database identifiers (also called SQL identifiers) are names for database objects, such as tables and columns. Storage identifiers are names for storage objects, such as dbspaces, blobspaces, and sbspaces. You cannot use DELIMIDENT to declare storage identifiers that contain characters outside the default SQL character set.
unsetenv DELIMIDENT