ENV:
Oracle版本:10.2.0.1.0版 服务器:Windows XP
oracle中的语言:
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),我可以得到结果。这让我感到困惑。我想知道为什么在我添加或子句时结果会出来。
答案 0 :(得分:3)
试试,告诉我结果
SELECT * FROM cc_party WHERE trim(party_type)='C'