Проблема уравнения NVARCHAR2 в Oracle 10g - PullRequest
0 голосов
/ 19 сентября 2010

ENV:

Версия Oracle: выпуск 10.2.0.1.0 Сервер: Windows XP

Язык в оракуле:

select userenv('language') from dual;

Результат:
CHINESE_CHINA.AL32UTF8

Структура таблицы:

PARTY_ID NVARCHAR2 (50)
PARTY_TYPE NVARCHAR2 (50)

Данные в таблице:

PARTY_ID | PARTY_TYPE
---------+-----------
BEST     | C    
WILL     | C

SQL1:

SELECT  * FROM cc_party  
WHERE party_type = 'C'

Результат:

ничего

SQL1:

SELECT  * FROM cc_party  
WHERE party_type = 'C' or party_type = 'C'

Результат:

PARTY_ID | PARTY_TYPE
---------+-----------
BEST     | C    
WILL     | C

Вопрос:

Почему я не могу выбрать данные по party_type = 'C' (SQL1)? Есть ли что-то особенное в NVARCHAR2?

Если я обновлю предложение where на party_type = 'C' or party_type = 'C' (SQL2), я смогу получить результат. Это меня смущает. Я хочу знать, почему результат получился, когда я добавил или предложение.

1 Ответ

3 голосов
/ 19 сентября 2010

Попробуйте и скажите мне результат

SELECT * FROM cc_party WHERE trim (party_type) = 'C'

...