2013-01-15 2 views
1

Например, если передняя часть может дать дату, то добавьте Date = 'someDate' с необходимым ключевым словом AND, а также отобразите столбец Date на SELECT. В противном случае это дата столбец не показывать либо в строке условий, ни в SELECTНужно запросить условно отобразить столбец

Это походит если дата не является нулевым тогда

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

если дата является нулевым тогда

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

Смежные вопросы