导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

SQL2000中,If 後面多個條件,如何連接?

rockyvan 2008-01-03 08:34:02
如題:SQL2000中,If 後面可否跟多個條件?
多個條件用什麽關鍵字連接?And,Or?

...全文
488 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
rockyvan 2008-01-03

SELECT c5 = (
IF c1 NOT NULL AND c3 IS NULL THEN c1
IF c1 IS NULL AND c3 NOT NULL THEN c3
IF c1 NOT NULL AND c3 NOT NULL THEN c1 + c3
ELSE NULL)
FROM Test

--這種寫法說IF附近語法錯誤
回复
wzy_love_sly 2008-01-03
declare @tb table (t1 int,t2 int,cc int)
insert into @tb select 1,2,null


update @tb set cc=case
when t1 is not null and t2 is null then t1
when t1 is null and t2 is not null then t2
when t1 is not null and t2 is not null then t1+t2
else null end

select * from @tb

t1 t2 cc
1 2 3
回复
changjiangzhibin 2008-01-03
可以考虑用Case .. when .. then ...end
回复
rockyvan 2008-01-03
補充,我建了一個新表,其中一個字段是計算所得值。
基本情況這樣:
條件1:t1,條件2:t2,字段:cc

if t1 not Null and t2 is Null then cc=t1
if t1 is Null and t2 not Null then cc=t2
if t1 not Null and t2 not Null then cc=t1+t2
else cc=Null


大概就是上面的意思,不知道我說清楚了沒有。
回复
you_tube 2008-01-03
用OR的话用括号括起来
回复
free1879 2008-01-03
可以用多个and,or
回复
free1879 2008-01-03
只要你if 后面的东西是布尔表达式
回复
dawugui 2008-01-03
如果是与:
if a = 1 and b = 1 and c = 1 ....

如果是或
if a = 1 or b = 1 or c = 1

如果与和或都有,用括号分开
if ( a = 1 and b = 1 ) or c = 1
回复
wzy_love_sly 2008-01-03
if a=b and b=c or c=d and exists(select * from tb)
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告