如何将decode转化为标准sql

qxksos 2003-07-02 07:10:02
select sum(decode(col1,'1',col2,0)),
sum(decode(col1,'0',col2,0)),
sum(decode(col3,'1',col4,0)),
sum(decode(col3,'0',col4,0))
from table1
用标准sql怎么写呀?
多谢!
...全文
71 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
bzszp 2003-07-03
  • 打赏
  • 举报
回复
不知道哪个试标准的
oracle:length()
sqlserver:len()
smallcrocodile 2003-07-03
  • 打赏
  • 举报
回复
DECODE本来就是可以在SQL语句中直接使用,干吗要转换呢?
BlueskyWide 2003-07-02
  • 打赏
  • 举报
回复
sqlplus中试一下:
select length('程序员') from dual;
length()是sqlplus中的系统函数。
qxksos 2003-07-02
  • 打赏
  • 举报
回复
谢谢BlueskyWide(谈趣者),一会就给分。
顺便问一下:length()是标准sql吗?如果不是,对应的标准sql是什么?
shahand 2003-07-02
  • 打赏
  • 举报
回复
oracle 也支持case语句
BlueskyWide 2003-07-02
  • 打赏
  • 举报
回复
Sorry,
select case when col1='1' or col1='0' then sum(col2) else 0 end,
case when col3='1' or col3='0' then sum(col4) else 0 end from table1;

BlueskyWide 2003-07-02
  • 打赏
  • 举报
回复
select case when col1='1' or col1='0' then col2 else 0 end,
case when col3='1' or col3='0' then col4 else 0 end from table1;

17,089

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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