我處於由於oracle行爲而導致查詢未返回任何值的情況。
Oracle:NULL和EMPTY字符串之間的區別
問題是這樣的:Oracle considers EMPTY STRING as NULL when INSERTING DATA but not when SELECTING BACK the data。
這不是Why does Oracle 9i treat an empty string as NULL?的重複,因爲在這裏我不是要問這個問題的原因,我很清楚原因,我要求解決這個問題。
這是我的表結構
CREATE TABLE TEST
(
ID NUMBER not null,
NAME VARCHAR2(255)
)
插入值oracle會接受
INSERT INTO TEST值(1, '')時;
我發現內部甲骨文轉換字符串長度爲零,爲NULL並存儲
但我查詢
SELECT * FROM TEST WHERE NAME =輸入;(INPUT = '')
(輸入從前端過去了,有時有空字符串)
不會返回任何結果
我不能寫動態由於性能問題
有人誰遇到這個問題之前,請讓我知道如何比較用NULL
[爲什麼Oracle 9i將空字符串視爲NULL?](http://stackoverflow.com/questions/203493/why-does-oracle-9i-treat-an-empty-string-as- null) –
@vkp我不是要求原因。我要求解決這個問題。所以這不是重複的。在問這個問題之前,我已經通過了這個問題。 – shreesha
只是爲了反駁OP的反對意見:我不明白他/她的問題怎麼可能是「爲什麼...」的重複(儘管我毫不懷疑它是某件事的重複;其他人一定會問這個問題之前,也許它只是不顯示在一個快速搜索。) – mathguy