求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

谢谢大家!
...全文
105 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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]

很强大!

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧