我有一個2列稱爲MEDECIN
表如下:爲什麼Oracle XE數據庫中的WHERE子句在與字符串比較時不起作用?
SQL> DESC MEDECIN; Name Null? Type ----------------------------------------- -------- ---------------------------- NUM_MED NOT NULL NUMBER(4) SPECIALITE NOT NULL NVARCHAR2(13)
而且它含有32行,這裏是它的內容:
SQL> SELECT * FROM MEDECIN; NUM_MED SPECIALITE ---------- ---------------------------------------------------- 4 Orthopédiste 7 Cardiologue 8 Cardiologue 10 Cardiologue 19 Traumatologue 24 Orthopédiste 26 Orthopédiste 27 Orthopédiste 31 Anesthésiste 34 Pneumologue 50 Pneumologue 53 Traumatologue 54 Pneumologue 64 Radiologue 80 Cardiologue 82 Orthopédiste 85 Anesthésiste 88 Cardiologue 89 Radiologue 99 Anesthésiste 113 Pneumologue 114 Traumatologue 122 Pneumologue 126 Radiologue 135 Anesthésiste 140 Cardiologue 141 Traumatologue 144 Radiologue 152 Cardiologue 179 Anesthésiste 180 Cardiologue 196 Traumatologue 32 rows selected.
的問題是,當我執行請求SELECT * FROM MEDECIN WHERE SPECIALITE = 'Cardiologue';
我得到no rows selected
!這怎麼發生?正如你所看到的,有很多行,其中SPECIALITE = 'Cardiologue'
。
可能是你可以在這裏找到答案出來的東西:http://stackoverflow.com/questions/4401043/oracle-text-will-not-work-with-nvarchar2-what -else-might-be-unavailable – MaxXx1313
也許有一些尾隨空白。 'trim(SPECIALITE)='Cardiologue''工作嗎? –
使用「TRIM」或「LIKE」。 –