0
嗨,我有一個表格在我的Java應用程序做高級研究。在那裏有幾個領域,用戶可以填寫他想要的領域,所以爲了在我的數據庫中進行搜索,我很喜歡這樣的東西。如何使用LIKE返回包含空值的所有內容?
SELECT DISTINCT F.ID_FILM, F.langue FROM FILM F , PAYS PA, FILM_PAYS FPA,
WHERE F.TITRE LIKE '%%'
AND (F.LANGUE IS NULL OR upper(F.LANGUE) LIKE upper('%%'))
AND F.ANNEE LIKE '%%'
AND F.DUREE BETWEEN 0 AND 1000
AND F.SYNOPSIS LIKE '%%'
AND (PA.NOM_PAYS LIKE '%%' AND PA.ID_PAYS = FPA.ID_PAYS AND FPA.ID_FILM = F.ID_FILM)
我將在java中替換%% by%?%爲我準備好的stattement,所以如果字段爲空,我會替換?通過「」,問題是LIKE %%將返回所有裸空值,並且我插入的OR將使得查詢總是返回空的LANGUE電影,而不是匹配模式。
你應該使用'[like-operator]'標籤而不是''[like]'標籤。 '[like]'標籤應該用於社交網絡的類似功能。 –
所以,如果你想返回除空字符串以外的每個可能的值(包括NULL),那麼不要容易忽略F.LANGUE!='' – BrianC