2013-01-15 27 views
1

例如,如果前端可以給出日期,那麼添加Date ='someDate'必要的關鍵字AND,並且還要顯示DateSELECT。否則,該日期列不無論是在條件字符串也不在SELECT需要查詢纔能有條件地顯示列

它就像 顯示,如果日期不爲空 然後

Select .... Date as Date01 from TableName where ....AND Date01='someDate'; 

如果日期爲null 然後

Select .... from TableName where ..; 

如何實現這樣的目標?謝謝。

回答

3

如果你想返回兩個單獨的選擇列表,那麼你需要兩個查詢來執行此操作。

根據是否提供日期,您無法隱藏SELECT列表中的列。

如果要包括列和條件,則可以使用case表達式向不具有條件的記錄提供不同的值。與此類似:

select 
    case when Date01='someDate' 
     then Date 
     else null end as Date01 
from TableName 
where yourFilters 
    or Date01='someDate' 
+0

謝謝。但是,如果我們不隱藏SELECT列中的列,但只隱藏一個條件,是否可行? – Dreamer

+0

@Dreamer看到我的編輯,當條件滿足時,可以使用'case'來更改列的值 – Taryn

+0

再次感謝。如果Date不爲null,那麼我們將Date列添加到條件中,如Date ='someDate',如果Date爲null,那麼我們不會在條件中添加此列。這裏假設我們不需要在SELECT中顯示日期列。 – Dreamer

相關問題