一對夫婦關於數據庫查詢的查詢搜索NULL在Android的數據庫查詢和OR聲明:如何選擇
所以我有以下的數據庫查詢,其中有一個WHERE語句包括三個字符串變量(rackingSystem ,製造商,「琥珀風險」)。
public Cursor fetchComponentsAndSpecForManufacturer(long inspectionId, String rackingSystem, String manufacturer) {
Cursor mCursor =
rmDb.query(true, DAMAGED_COMPONENTS_TABLE, new String[] {
DAMAGED_COMPONENT_ID,
LOCATION_LINK,
RUN_LINK,
AREA_LINK,
INSPECTION_LINK,
LOCATION_REF,
RACKING_SYSTEM,
COMPONENT,
COMPONENT_TYPE,
QUANTITY,
POSITION,
RISK,
ACTION_REQUIRED,
NOTES_GENERAL,
MANUFACTURER,
TEXT1,
TEXT2,
TEXT3,
TEXT4,
NOTES_SPEC,
SPEC_SAVED},
INSPECTION_LINK + " = " + inspectionId + " AND " + RACKING_SYSTEM + " = ? AND " + MANUFACTURER + " = ? AND " + RISK + " = ? ",
new String[] {rackingSystem, manufacturer, "Amber Risk"},
COMPONENT_TYPE + ", " + TEXT1 + ", " + TEXT2 + ", " + TEXT3 + ", " + TEXT4 + ", " + NOTES_SPEC,
null, null, null);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
}
問題1:
我如何尋找NULL作爲,在上面的例子中,製造商可能會在數據庫中NULL(因爲用戶可能沒有inputed任何東西到數據庫中該位還)。
問題2:
我可以在WHERE語句中包含OR語句嗎?因此,目前我正在爲所有「琥珀風險」記錄進行篩選,但我還需要在此列表中包含「紅色風險」條目。如果我可以這樣做,我應該如何編輯WHERE語句?
sql'where X is null' or'isnull(x)'? –