table1
a b(varchar) c(varchar) d(varchar) e(varchar)
-- 200701
-- 200701
b,c,d,e 都是日期格式格式為:200701
我想查出table中数据
查询条件是 20070101--20070131
条件是 b 不为空时 查处符合输入条件的数据
如果b 为空时 查处c
如果c 为空 查询d谢谢大家!
a b(varchar) c(varchar) d(varchar) e(varchar)
-- 200701
-- 200701
b,c,d,e 都是日期格式格式為:200701
我想查出table中数据
查询条件是 20070101--20070131
条件是 b 不为空时 查处符合输入条件的数据
如果b 为空时 查处c
如果c 为空 查询d谢谢大家!
from table1
where COALESCE(b,c,d,e) between '20070101' and '20070131'
declare @tab table (a varchar(10),
b varchar(10),
c varchar(10),
d varchar(10))
Insert into @tab
Select '1','200701','200701','200701'
union
select '2','','','200701'
Select * From @tab
Where b between left('20070101',6) and left('20070131',6)union allSelect * From @tab
Where c between left('20070101',6) and left('20070131',6) and b = ''union all
Select * From @tab
Where d between left('20070101',6) and left('20070131',6) and c = '' and b = ''