oralce中decode 改写为sqlserver中的case

你们都是坏人 2017-04-20 08:59:51
oracle中的sql现在要改为在sqlserver中运行,
如下sql该如何修改

oracle中的sql

decode(sign(unitweight),
1,
decode(sign(unitweight - 1), -1, '0', '') ||
to_char(unitweight),
decode(trim(unitweight_rpt),
null,
'0',
'',
'0',
unitweight_rpt)) as unitweight
...全文
63 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
你们都是坏人 2017-04-20
  • 打赏
  • 举报
回复
引用 2 楼 wmxcn2000 的回复:

-- 试试这个 

case sign(unitweight)
     when  1 then case sign(unitweight - 1) when  -1 then  '0' else  '' end + ltrim(unitweight)
     else case when rtrim(ltrim(unitweight_rpt)) is null then '0' 
               when rtrim(ltrim(unitweight_rpt))= '' then '0'
               else unitweight_rpt
end as unitweight
                       
谢谢!!!
卖水果的net 2017-04-20
  • 打赏
  • 举报
回复

-- 楼主少写了一个 end 

case sign(unitweight)
     when  1 then case sign(unitweight - 1) when  -1 then  '0' else  '' end + ltrim(unitweight)
     else case when rtrim(ltrim(unitweight_rpt)) is null then '0' 
               when rtrim(ltrim(unitweight_rpt))= '' then '0'
               else unitweight_rpt
          end 
end as unitweight
                       
卖水果的net 2017-04-20
  • 打赏
  • 举报
回复

-- 试试这个 

case sign(unitweight)
     when  1 then case sign(unitweight - 1) when  -1 then  '0' else  '' end + ltrim(unitweight)
     else case when rtrim(ltrim(unitweight_rpt)) is null then '0' 
               when rtrim(ltrim(unitweight_rpt))= '' then '0'
               else unitweight_rpt
end as unitweight
                       
二月十六 2017-04-20
  • 打赏
  • 举报
回复
oracle不会啊。。等水果版主给你解答吧

594

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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