• 全部
  • 基础类
  • 应用实例
  • 新技术前沿

求SQL 查询条件

reallylovesky 2008-04-09 11:14:51
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

谢谢大家!
...全文
72 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
mabuchi 2008-04-10
学习
回复
wlinglong 2008-04-09

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 all

Select * 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 = ''
回复
reallylovesky 2008-04-09
好!谢谢
回复
-狙击手- 2008-04-09
select *
from table1
where COALESCE(b,c,d,e) between '20070101' and '20070131'
回复
正宗老冉 2008-04-09
[Quote=引用 1 楼 happyflystone 的回复:]
SQL codeselect *
from table1
where COALESCE(b,c,d,e) between '20070101' and '20070131'
[/Quote]

很强大!
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-04-09 11:14
社区公告
暂无公告