2016-07-12 102 views
0

我在遺留數據庫中有兩個字段。我想查詢其中之一,但它往往null,在這種情況下,有喜歡的if聲明like Where if field_a !== null { field_a='Value' } else { field_b='Value' }SQL查詢如果聲明?

我的問題是,有沒有辦法在SQL本身做這做我必須做兩個查詢,一個檢查是否爲空,然後是我的邏輯中的if語句?

+1

SQL'case'聲明中,MySQL'if',等等很多方面。不需要多個查詢。 –

回答

1

我認爲你可以捕捉這樣的邏輯:

where field_a = 'Value' or (field_a is NULL and field_b = 'Value') 

或者更簡單地稱爲:

where field_a = 'Value' or field_b = 'Value' 
+0

@GordonLinoff我從來沒有見過像這樣用過 - 你能提供一個鏈接,以便我可以閱讀它嗎? – Hogan

+1

@onedaywhen我認爲它應該是'AND',但我絕不會說戈登是錯的 - 每次我過去都會犯錯。 – Hogan

+0

@Hogan:是的......也許它應該是「field_a爲null,因爲field_b是'value'」:) – onedaywhen