Здесь я создал простую таблицу с использованием MS SQL
CREATE TABLE Students1 (
FirstName Nvarchar(100),
SecondName Nvarchar(100),
DOB Smalldatetime,
RegisterDate smalldatetime,
Archived int,
ArchivedDate Smalldatetime
);
Insert Into Students1(FirstName,SecondNAme,DOB,RegisterDate,Archived,ArchivedDate)
Values('James','Bike',16/04/1900, 04/07/2017,0,Null);
Insert Into Students1(FirstName,SecondNAme,DOB,RegisterDate,Archived,ArchivedDate)
Values('Adam','Bike',16/04/1901,04/07/2017,0,Null);
Insert Into Students1(FirstName,SecondNAme,DOB,RegisterDate,Archived,ArchivedDate)
Values('Chris','Bike',16/04/1902,04/09/2017,1,getdate());
Insert Into Students1(FirstName,SecondNAme,DOB,RegisterDate,Archived,ArchivedDate)
Values('Sam','Bike',16/04/1999,04/09/2017,1,getdate());
Insert Into Students1(FirstName,SecondNAme,DOB,RegisterDate,Archived,ArchivedDate)
Values('Josh','Bike',16/04/1999,04/09/2017,1,getdate());
Я хочу сделать простое предложение выбора против этого, где я фильтрую либо RegisterDate
, либо ArchivedDate
в зависимости от того, как настроены мои локальные переменные.
Например, у меня будут установлены следующие локальные переменные;
@FitlerRegisterDate
@FilterArchived
Если либо @FilterREgisterDate
установлено в 1, то предложение where будет смотреть на столбец RegisterDate
, но если @FilterArchived
установлено в 1, то предложение where будет смотреть на ArchivedColumn
AND, если они оба установлены до 1, то по умолчанию следует посмотреть на RegisterDate
Я некоторое время смотрел на это и не видел ничего, что выделялось. Если бы кто-то мог указать мне правильное направление, это было бы здорово.
Спасибо.