31.4 OCI String Manipulation Functions
Lists and describes OCI string manipulation functions.
Two types of data structures are supported for string manipulation:
-
Multibyte strings
-
Wide-character strings
Multibyte strings are encoded in native Oracle character sets. Functions that operate on multibyte strings take the string as a whole unit with the length of the string calculated in bytes. Wide-character (wchar
) string functions provide more flexibility in string manipulation. They support character-based and string-based operations with the length of the string calculated in characters.
The wide-character data type is Oracle-specific and should not be confused with the wchar_t
data type defined by the ANSI/ISO C standard. The Oracle wide-character data type is always 4 bytes in all operating systems, whereas the size of wchar_t
depends on the implementation and the operating system. The Oracle wide-character data type normalizes multibyte characters so that they have a fixed width for easy processing. This guarantees no data loss for round-trip conversion between the Oracle wide-character set and the native character set.
String manipulation can be classified into the following categories:
-
Conversion of strings between multibyte and wide character
-
Character classifications
-
Case conversion
-
Calculations of display length
-
General string manipulation, such as comparison, concatenation, and searching
Table 31-4 summarizes the OCI string manipulation functions, which are described in this section.
Table 31-4 OCI String Manipulation Functions
Function | Purpose |
---|---|
Convert part of a multibyte string into the wide-character string |
|
Convert a multibyte string into the specified case and copies the result into the destination array |
|
Append a multibyte string to the destination string |
|
Compare two multibyte strings by binary, linguistic, or case-insensitive comparison methods |
|
Copy a multibyte string into the destination array. It returns the number of bytes copied. |
|
Return the number of bytes in a multibyte string |
|
Append, at most, n bytes from a multibyte string to the destination string |
|
Compare two multibyte strings by binary, linguistic, or case-insensitive comparison methods. Each string is in the specified length |
|
Copy a specified number of bytes of a multibyte string into the destination array |
|
Return the number of display positions occupied by the multibyte string within the range of n bytes |
|
Convert a |
|
Convert part of a wide-character string to the multibyte string |
|
Determine the number of bytes required for a wide character in multibyte encoding |
|
Convert a wide-character string into the specified case and copies the result into the destination array |
|
Append a wide-character string to the destination string |
|
Search for the first occurrence of a wide character in a string. Return a point to the wide character if the search is successful. |
|
Compare two wide-character strings by binary, linguistic, or case-insensitive comparison methods |
|
Copy a wide-character string into a destination array. Return the number of characters copied. |
|
Return the number of characters in a wide-character string |
|
Append, at most, n characters from a wide-character string to the destination string |
|
Compare two wide-character strings by binary, linguistic, or case-insensitive methods. Each string is a specified length. |
|
Copy, at most, n characters of a wide-character string into the destination array |
|
Search for the last occurrence of a character in a wide-character string |
|
Convert a specified wide character into the corresponding lowercase character |
|
Convert a |
|
Convert a specified wide character into the corresponding uppercase character |
31.4.1 OCIMultiByteInSizeToWideChar()
Converts part of a multibyte string into the wide-character string.
Purpose
Converts part of a multibyte string into the wide-character string.
Syntax
sword OCIMultiByteInSizeToWideChar ( void *hndl, OCIWchar *dst, size_t dstsz, const OraText *src, size_t srcsz, size_t *rsize );
Parameters
- hndl (IN/OUT)
-
OCI environment or user session handle to determine the character set of the string.
- dst (OUT)
-
Pointer to a destination buffer for
wchar
. It can be aNULL
pointer whendstsz
is zero. - dstsz (IN)
-
Destination buffer size in number of characters. If it is zero, then this function returns the number of characters needed for the conversion.
- src (IN)
-
Source string to be converted.
- srcsz (IN)
-
Length of source string in bytes.
- rsize (OUT)
-
Number of characters written into the destination buffer, or number of characters for the converted string if
dstsz
is zero. If it is aNULL
pointer, then nothing is returned.
Comments
This routine converts part of a multibyte string into the wide-character string. It converts as many complete characters as it can until it reaches the output buffer size limit or input buffer size limit or it reaches a NULL
terminator in a source string. The output buffer is NULL
-terminated if space permits. If dstsz
is zero, then this function returns only the number of characters not including the ending NULL
terminator needed for a converted string. If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
OCI_SUCCESS
; OCI_INVALID_HANDLE
; or OCI_ERROR
.
Related Topics
31.4.2 OCIMultiByteStrCaseConversion()
Converts a multibyte string into the specified case and copies the result into the destination array.
Purpose
Converts the multibyte string pointed to by srcstr
into uppercase or lowercase as specified by the flag and copies the result into the array pointed to by dststr
.
Syntax
size_t OCIMultiByteStrCaseConversion ( void *hndl, OraText *dststr, const OraText *srcstr, ub4 flag );
Parameters
- hndl (IN/OUT)
-
OCI environment or user session handle.
- dststr (OUT)
-
Pointer to destination array. The result string is
NULL
-terminated. - srcstr (IN)
-
Pointer to source string.
- flag (IN)
-
Specify the case to which to convert:
-
OCI_NLS_UPPERCASE
: Convert to uppercase. -
OCI_NLS_LOWERCASE
: Convert to lowercase.
This flag can be used with OCI_NLS_LINGUISTIC
to specify that the linguistic setting in the locale is used for case conversion.
Comments
If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
The number of bytes in the result string, not including the NULL
terminator.
31.4.3 OCIMultiByteStrcat()
Appends a multibyte string to the destination string.
Purpose
Appends a copy of the multibyte string pointed to by srcstr
to the end of the string pointed to by dststr
.
Syntax
size_t OCIMultiByteStrcat ( void *hndl, OraText *dststr, const OraText *srcstr );
Parameters
Comments
If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
The number of bytes in the result string, not including the NULL
terminator.
Related Topics
31.4.4 OCIMultiByteStrcmp()
Compares two multibyte strings by binary, linguistic, or case-insensitive comparison methods.
Purpose
Compares two multibyte strings by binary, linguistic, or case-insensitive comparison methods.
Syntax
int OCIMultiByteStrcmp ( void *hndl, const OraText *str1, const OraText *str2, int flag );
Parameters
- hndl (IN/OUT)
-
OCI environment or user session handle.
- str1 (IN)
-
Pointer to a
NULL
-terminated string. - str2 (IN)
-
Pointer to a
NULL
-terminated string. - flag (IN)
-
It is used to decide the comparison method. It can take one of these values:
-
OCI_NLS_BINARY
: Binary comparison This is the default value. -
OCI_NLS_LINGUISTIC
: Linguistic comparison specified in the locale.
This flag can be used with OCI_NLS_CASE_INSENSITIVE
for case-insensitive comparison. For example, use OCI_NLS_LINGUISTIC|OCI_NLS_CASE_INSENSITIVE
to compare strings linguistically without regard to case.
Comments
If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
The return values for the function are:
-
0, if
str1 = str2
-
Positive, if
str1 > str2
-
Negative, if
str1 < str2
Related Topics
31.4.5 OCIMultiByteStrcpy()
Copies a multibyte string into the destination array. It returns the number of bytes copied.
Purpose
Copies the multibyte string pointed to by srcstr
into the array pointed to by dststr
.
Syntax
size_t OCIMultiByteStrcpy ( void *hndl, OraText *dststr, const OraText *srcstr );
Parameters
Comments
If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
The number of bytes copied, not including the NULL
terminator.
Related Topics
31.4.6 OCIMultiByteStrlen()
Returns the number of bytes in a multibyte string.
Purpose
Returns the number of bytes in the multibyte string pointed to by str
, not including the NULL
terminator.
Syntax
size_t OCIMultiByteStrlen ( void *hndl, const OraText *str );
Parameters
Comments
If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
The number of bytes, not including the NULL
terminator.
Related Topics
31.4.7 OCIMultiByteStrncat()
Appends, at most, n bytes from a multibyte string to the destination string.
Purpose
Appends a specified number of bytes from a multibyte string to a destination string.
Syntax
size_t OCIMultiByteStrncat ( void *hndl, OraText *dststr, const OraText *srcstr, size_t n );
Parameters
Comments
This function is similar to OCIMultiByteStrcat()
. At most, n bytes from srcstr
are appended to dststr
. Note that the NULL
terminator in srcstr
stops appending, and the function appends as many character as possible within n
bytes. The dststr
parameter is NULL
-terminated. If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
The number of bytes in the result string, not including the NULL
terminator.
Related Topics
31.4.8 OCIMultiByteStrncmp()
Compares two multibyte strings by binary, linguistic, or case-insensitive comparison methods. Each string is in the specified length.
Purpose
Compares two multibyte strings by binary, linguistic, or case-insensitive comparison methods. A length is specified for each string.
Syntax
int OCIMultiByteStrncmp ( void *hndl, const OraText *str1, size_t len1, OraText *str2, size_t len2, int flag );
Parameters
- hndl (IN/OUT)
-
OCI environment or user session handle.
- str1 (IN)
-
Pointer to the first string.
- len1 (IN)
-
The length of the first string to compare.
- str2 (IN)
-
Pointer to the second string.
- len2 (IN)
-
The length of the second string to compare.
- flag (IN)
-
It is used to decide the comparison method. It can take one of these values:
-
OCI_NLS_BINARY
: Binary comparison. This is the default value. -
OCI_NLS_LINGUISTIC
: Linguistic comparison specified in the locale.
This flag can be used with OCI_NLS_CASE_INSENSITIVE
for case-insensitive comparison. For example, use OCI_NLS_LINGUISTIC|OCI_NLS_CASE_INSENSITIVE
to compare strings linguistically without regard to case.
Comments
This function is similar to OCIMultiByteStrcmp()
, except that, at most, len1
bytes from str1
and len2
bytes from str2
are compared. The NULL
terminator is used in the comparison. If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
The return values for the function are:
-
0, if
str1
=str2
-
Positive, if
str1
>str2
-
Negative, if
str1
<str2
31.4.9 OCIMultiByteStrncpy()
Copies a specified number of bytes of a multibyte string into the destination array.
Purpose
Copies a multibyte string into an array.
Syntax
size_t OCIMultiByteStrncpy ( void *hndl, OraText *dststr, const OraText *srcstr, size_t n );
Parameters
Comments
This function is similar to OCIMultiByteStrcpy()
. At most, n bytes are copied from the array pointed to by srcstr
to the array pointed to by dststr
. Note that the NULL
terminator in srcstr
stops copying, and the function copies as many characters as possible within n
bytes. The result string is NULL
-terminated. If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
The number of bytes in the resulting string, not including the NULL
terminator.
Related Topics
31.4.10 OCIMultiByteStrnDisplayLength()
Returns the number of display positions occupied by the multibyte string within the range of n bytes.
Purpose
Returns the number of display positions occupied by the multibyte string within the range of n
bytes.
Syntax
size_t OCIMultiByteStrnDisplayLength ( void *hndl, const OraText *str1, size_t n );
Parameters
Comments
If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
The number of display positions.
Related Topics
31.4.11 OCIMultiByteToWideChar()
Converts a NULL
-terminated multibyte string into wide-character format.
Purpose
Converts an entire NULL
-terminated string into the wide-character string.
Syntax
sword OCIMultiByteToWideChar ( void *hndl, OCIWchar *dst, const OraText *src, size_t *rsize );
Parameters
- hndl (IN/OUT)
-
OCI environment or user session handle to determine the character set of the string.
- dst (OUT)
-
Destination buffer for
wchar
. - src (IN)
-
Source string to be converted.
- rsize (OUT)
-
Number of characters converted, including
NULL
terminator. If it is aNULL
pointer, then nothing is returned.
Comments
The wchar
output buffer is NULL
-terminated. If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
OCI_SUCCESS
; OCI_INVALID_HANDLE
; or OCI_ERROR
.
Related Topics
31.4.12 OCIWideCharInSizeToMultiByte()
Converts part of a wide-character string to the multibyte string.
Purpose
Converts part of a wide-character string to multibyte format.
Syntax
sword OCIWideCharInSizeToMultiByte ( void *hndl, OraText *dst, size_t dstsz, const OCIWchar *src, size_t srcsz, size_t *rsize );
Parameters
- hndl (IN/OUT)
-
OCI environment or user session handle to determine the character set of string.
- dst (OUT)
-
Destination buffer for multibyte. It can be a
NULL
pointer ifdstsz
is zero. - dstsz (IN)
-
Destination buffer size in bytes. If it is zero, then the function returns the size in bytes need for converted string.
- src (IN)
-
Source
wchar
string to be converted. - srcsz (IN)
-
Length of source string in characters.
- rsize (OUT)
-
Number of bytes written into destination buffer, or number of bytes needed to store the converted string if
dstsz
is zero. If it is aNULL
pointer, then nothing is returned.
Comments
Converts part of a wide-character string into the multibyte format. It converts as many complete characters as it can until it reaches the output buffer size or the input buffer size or until it reaches a NULL
terminator in the source string. The output buffer is NULL
-terminated if space permits. If dstsz
is zero, then the function returns the size in bytes, not including the NULL
terminator needed to store the converted string. If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
OCI_SUCCESS
; OCI_INVALID_HANDLE
; or OCI_ERROR
.
Related Topics
31.4.13 OCIWideCharMultiByteLength()
Determines the number of bytes required for a wide character in multibyte encoding.
Purpose
Determines the number of bytes required for a wide character in multibyte encoding.
Syntax
size_t OCIWideCharMultiByteLength ( void *hndl, OCIWchar wc );
Parameters
Comments
If OCI_UTF16ID
is specified for SQL CHAR
data in function, then this function produces an error.
Returns
The number of bytes required for the wide character.
Related Topics
31.4.14 OCIWideCharStrCaseConversion()
Converts a wide-character string into the specified case and copies the result into the destination array.
Purpose
Converts a wide-character string into a specified case and copies the result into the destination array.
Syntax
size_t OCIWideCharStrCaseConversion ( void *hndl, OraText *dststr, const OraText *srcstr, ub4 flag );
Parameters
- hndl (IN/OUT)
-
OCI environment or user session handle.
- dststr (OUT)
-
Pointer to destination array. The result string is
NULL
-terminated. - srcstr (IN)
-
Pointer to source string.
- flag (IN)
-
Specify the case to which to convert:
-
OCI_NLS_UPPERCASE
: Convert to uppercase. -
OCI_NLS_LOWERCASE
: Convert to lowercase.
This flag can be used with OCI_NLS_LINGUISTIC
to specify that the linguistic setting in the locale is used for case conversion.
Comments
Converts the wide-character string pointed to by srcstr
into uppercase or lowercase as specified by the flag and copies the result into the array pointed to by dststr
. If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
The number of bytes in the result string, not including the NULL
terminator.
Related Topics
31.4.15 OCIWideCharStrcat()
Appends a wide-character string to the destination string.
Purpose
Appends the wide-character string pointed to by wsrcstr
to the wide-character string pointed to by wdststr
.
Syntax
size_t OCIWideCharStrcat ( void *hndl, OCIWchar *wdststr, const OCIWchar *wsrcstr );
Parameters
Comments
If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
The number of characters in the result string, not including the NULL
terminator.
Related Topics
31.4.16 OCIWideCharStrchr()
Searches for the first occurrence of a wide character in a string. Returns a point to the wide character if the search is successful.
Purpose
Searches for the first occurrence of a specified character in a wide-character string.
Syntax
OCIWchar *OCIWideCharStrchr ( void *hndl, const OCIWchar *wstr, OCIWchar wc );
Parameters
Comments
If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
A wchar
pointer if successful; otherwise, a NULL
pointer.
Related Topics
31.4.17 OCIWideCharStrcmp()
Compares two wide-character strings by binary, linguistic, or case-insensitive comparison methods.
Purpose
Compares two wide-character strings by binary (based on wchar
encoding value), linguistic, or case-insensitive comparison methods.
Syntax
int OCIWideCharStrcmp ( void *hndl, const OCIWchar *wstr1, const OCIWchar *wstr2, int flag );
Parameters
- hndl (IN/OUT)
-
OCI environment or user session handle to determine the character set.
- wstr1 (IN)
-
Pointer to a
NULL
-terminatedwchar
string. - wstr2 (IN)
-
Pointer to a
NULL
-terminatedwchar
string. - flag (IN)
-
Used to decide the comparison method. It can take one of these values:
-
OCI_NLS_BINARY
: Binary comparison. This is the default value. -
OCI_NLS_LINGUISTIC
: Linguistic comparison specified in the locale definition.
This flag can be used with OCI_NLS_CASE_INSENSITIVE
for case-insensitive comparison. For example, use OCI_NLS_LINGUISTIC|OCI_NLS_CASE_INSENSITIVE
to compare strings linguistically without regard to case.
The UNICODE_BINARY sort method cannot be used with OCIWideCharStrcmp()
to perform a linguistic comparison of supplied wide-character arguments.
Comments
If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
The return values for the function are:
-
0, if
wstr1 = wstr2
-
Positive, if
wstr1 > wstr2
-
Negative, if
wstr1 < wstr2
Related Topics
31.4.18 OCIWideCharStrcpy()
Copies a wide-character string into a destination array. Returns the number of characters copied.
Purpose
Copies a wide-character string into an array.
Syntax
size_t OCIWideCharStrcpy ( void *hndl, OCIWchar *wdststr, const OCIWchar *wsrcstr );
Parameters
Comments
If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
The number of characters copied, not including the NULL
terminator.
Related Topics
31.4.19 OCIWideCharStrlen()
Return the number of characters in a wide-character string.
Purpose
Returns the number of characters in a wide-character string.
Syntax
size_t OCIWideCharStrlen ( void *hndl, const OCIWchar *wstr );
Parameters
Comments
Returns the number of characters in the wchar
string pointed to by wstr
, not including the NULL
terminator. If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
The number of characters, not including the NULL
terminator.
Related Topics
31.4.20 OCIWideCharStrncat()
Appends, at most, n characters from a wide-character string to the destination string.
Purpose
Appends, at most, n characters from a wide-character string to the destination.
Syntax
size_t OCIWideCharStrncat ( void *hndl, OCIWchar *wdststr, const OCIWchar *wsrcstr, size_t n );
Parameters
Comments
This function is similar to OCIWideCharStrcat()
. At most, n characters from wsrcstr
are appended to wdststr
. Note that the NULL
terminator in wsrcstr
stops appending. The wdststr
parameter is NULL
-terminated. If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
The number of characters in the result string, not including the NULL
terminator.
Related Topics
31.4.21 OCIWideCharStrncmp()
Compares two wide-character strings by binary, linguistic, or case-insensitive methods. Each string is a specified length.
Purpose
Compares two wide-character strings by binary, linguistic, or case-sensitive methods. Each string has a specified length.
Syntax
int OCIWideCharStrncmp ( void *hndl, const OCIWchar *wstr1, size_t len1, const OCIWchar *wstr2, size_t len2, int flag );
Parameters
- hndl (IN/OUT)
-
OCI environment or user session handle to determine the character set.
- wstr1 (IN)
-
Pointer to the first
wchar
string. - len1 (IN)
-
The length from the first string for comparison.
- wstr2 (IN)
-
Pointer to the second
wchar
string. - len2 (IN)
-
The length from the second string for comparison.
- flag (IN)
-
It is used to decide the comparison method. It can take one of these values:
-
OCI_NLS_BINARY
: For the binary comparison, this is default value. -
OCI_NLS_LINGUISTIC
: For the linguistic comparison specified in the locale.
This flag can be used with OCI_NLS_CASE_INSENSITIVE
for case-insensitive comparison. For example, use OCI_NLS_LINGUISTIC
|OCI_NLS_CASE_INSENSITIVE
to compare strings linguistically without regard to case.
Comments
This function is similar to OCIWideCharStrcmp()
. It compares two wide-character strings by binary, linguistic, or case-insensitive comparison methods. At most, len1
bytes from wstr1
and len2
bytes from wstr2
are compared. The NULL
terminator is used in the comparison. If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
The UNICODE_BINARY sort method cannot be used with OCIWideCharStrncmp()
to perform a linguistic comparison of supplied wide-character arguments.
Returns
The return values for the function are:
-
0, if
wstr1 = wstr2
-
Positive, if
wstr1 > wstr2
-
Negative, if
wstr1 < wstr2
Related Topics
31.4.22 OCIWideCharStrncpy()
Copies, at most, n characters of a wide-character string into the destination array.
Purpose
Copies, at most, n characters from a wide-character string into a destination.
Syntax
size_t OCIWideCharStrncpy ( void *hndl, OCIWchar *wdststr, const OCIWchar *wsrcstr, size_t n );
Parameters
Comments
This function is similar to OCIWideCharStrcpy()
, except that, at most, n characters are copied from the array pointed to by wsrcstr
to the array pointed to by wdststr
. Note that the NULL
terminator in wdststr
stops copying, and the result string is NULL
-terminated. If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
The number of characters copied, not including the NULL
terminator.
Related Topics
31.4.23 OCIWideCharStrrchr()
Searches for the last occurrence of a character in a wide-character string.
Purpose
Searches for the last occurrence of a character in a wide-character string.
Syntax
OCIWchar *OCIWideCharStrrchr ( void *hndl, const OCIWchar *wstr, OCIWchar wc );
Parameters
Comments
Searches for the last occurrence of wc
in the wchar
string pointed to by wstr
. If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
The wchar
pointer if successful; otherwise, a NULL
pointer.
Related Topics
31.4.24 OCIWideCharToLower()
Converts a specified wide character into the corresponding lowercase character.
Purpose
Converts the wide-character string specified by wc
into the corresponding lowercase character, if it exists, in the specified locale. If no corresponding lowercase character exists, then it returns wc
itself.
Syntax
OCIWchar OCIWideCharToLower ( void *hndl, OCIWchar wc );
Parameters
Comments
If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
A wchar
.
Related Topics
31.4.25 OCIWideCharToMultiByte()
Converts a NULL
-terminated wide-character string into a multibyte string.
Purpose
Converts an entire NULL
-terminated wide-character string into a multibyte string.
Syntax
sword OCIWideCharToMultiByte ( void *hndl, OraText *dst, const OCIWchar *src, size_t *rsize );
Parameters
- hndl (IN/OUT)
-
OCI environment or user session handle to determine the character set of the string.
- dst (OUT)
-
Destination buffer for a multibyte string. The output buffer is
NULL
-terminated. - src (IN)
-
Source
wchar
string to be converted. - rsize (OUT)
-
Number of bytes written into destination buffer. If it is a
NULL
pointer, then nothing is returned.
Comments
If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
OCI_SUCCESS
; OCI_INVALID_HANDLE
; or OCI_ERROR
.
Related Topics
31.4.26 OCIWideCharToUpper()
Converts a specified wide character into the corresponding uppercase character.
Purpose
Converts the wide-character string specified by wc
into the corresponding uppercase character, if it exists, in the specified locale. If no corresponding uppercase character exists, then it returns wc
itself.
Syntax
OCIWchar OCIWideCharToUpper ( void *hndl, OCIWchar wc );
Parameters
Comments
If OCI_UTF16ID
is specified for SQL CHAR
data in the OCIEnvNlsCreate()
function, then this function produces an error.
Returns
A wchar
.
Related Topics