Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> nls_comp
Hello,
Oracle 8.1.6, AIX 4.3
Parameters: NLS_COMP=ANSI
NLS_SORT=POLISHTable test (index only on ID column):
SQL> desc test
Name NULL? Type ----------------------------------------- -------- --------------- ID NOT NULL NUMBER(3) data NOT NULL CHAR(10)
SQL> select * from test;
ID data
---------- ----------
1 note1 2 note2
Fragments of code in PRO*C/C++
EXEC SQL BEGIN DECLARE SECTION;
char data[11];
char query[11];
EXEC SQL END DECLARE SECTION;
Query 1 - returns record correctly:
EXEC SQL select data into :query from test where data= 'note1';
Query 2 - returns no record :
strcpy (query, "note1 "); /* string complement with spaces */
/* I also tried : strcpy(query, "note1"); */
EXEC SQL select data into :data from test where data= :query;
Query 3 - returns no record :
/* statement reads record from database*/
EXEC SQL select data into :query from test where data= 'note1';
EXEC SQL select data into :data from test where data= :query;
I don't know why queries 2 and 3 don't return a record.
All queries return record correctly when one of the following conditions
is met:
a) Database works with NLS_COMP=BINARY
b) Condition in query looks like that:
EXEC SQL select data into :data from test where NLSSORT(data) = NLSSORT(:query);
Does anyone have any suggestions?
Regards
Adam Bancarewicz
Received on Thu Feb 07 2002 - 04:58:51 CST