UPDATE IF..ELSE..

bb_chen 2010-09-13 12:00:59
UPDATE MOCTA 
SET TA019 =(IF RTRIM(TA058)=''
begin
if RTRIM(TA033)=''
TA019
else
TA033
end
ELSE
TA058
)


更新MOCTA表的TA019字段,
當TA058非空,則TA019=TA058
當TA033非空,則TA019=TA033
否則TA019=TA019

謝謝
...全文
150 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
willy2358 2010-09-13
  • 打赏
  • 举报
回复
if else 可以用在存储过程中。
ws_hgo 2010-09-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 bb_chen 的回复:]

UPDATE 中不能使用if..else ..嗎
[/Quote]
不能
要case when then else end

你试下


update mocta set 
ta019 =(
case when rtrim(ta058)='' then
(
case when rtrim(ta033)='' then 'ta019' else 'ta033' end
)
else 'ta05'
end
)
bb_chen 2010-09-13
  • 打赏
  • 举报
回复
UPDATE 中不能使用if..else ..嗎
hao1hao2hao3 2010-09-13
  • 打赏
  • 举报
回复


update mocta set ta019 =(case when rtrim(ta058)='' then (case when rtrim(ta033)='' then ta019 else ta033 end) else ta058 end)

Zhang7613022 2010-09-13
  • 打赏
  • 举报
回复
UPDATE MOCTA 
SET TA019 =case when TA058 !='' then TA058
Else
(
case when TA033 !='' then TA033
Else TA019 End
)
End
noteasytoregister 2010-09-13
  • 打赏
  • 举报
回复
case ...when ...then
abuying 2010-09-13
  • 打赏
  • 举报
回复
UPDATE MOCTA
SET TA019 =(Case when RTRIM(TA058)='' and RTRIM(TA033)='' then TA019 when RTRIM(TA058)='' and RTRIM(TA033)!='' then ta033 else Ta058 end case
happy664618843 2010-09-13
  • 打赏
  • 举报
回复
case when status=1 then 0 else then 2 end
billpu 2010-09-13
  • 打赏
  • 举报
回复
case不能用在流程控制 ,if 可以
反之 你这边因为是一句dml语句,所以不能用if

34,590

社区成员

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

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