oracle中decode()函数在mysql中怎么改啊,在线等!

夕阳下的高山 2014-02-11 11:29:07
例如在oracle中是这样写的:select
decode(length(POPEDOM),3,substr(POPEDOM,0,2),4,substr(POPEDOM,0,3),5,substr(POPEDOM,0,2),6,substr(POPEDOM,0,3),7,substr(POPEDOM,0,2),POPEDOM) as type
...全文
559 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_27783159 2016-04-26
  • 打赏
  • 举报
回复
select decode(mod((select count(urineiodine) from bs_lowiodinergn_chld_con_srvy order by urineiodine desc) as n,2),1,(n+1)/2*urineiodine,(n/2*urineiodine)+ (n+1)/2*urineiodine ) from bs_lowiodinergn_chld_con_srvy 求帮忙改一下 怎么弄都报错
-江沐风- 2014-02-11
  • 打赏
  • 举报
回复
引用 1 楼 QWE470259742 的回复:
MYSQL没用过,不过我想case when then应该也是支持的吧: SELECT (CASE length(POPEDOM) WHEN 3 THEN substr(POPEDOM, 0, 2) WHEN 4 THEN substr(POPEDOM, 0, 3) WHEN 5 THEN substr(POPEDOM, 0, 2) WHEN 6 THEN substr(POPEDOM, 0, 3) WHEN 7 THEN substr(POPEDOM, 0, 2) END) AS TYPE FROM DUAL;
没错,oracle的decode()函数可以用MySQL的IF()或者CASE WHEN来替代; oracle的decode()和case when功能上应该是一样的。
QWE470259742 2014-02-11
  • 打赏
  • 举报
回复
MYSQL没用过,不过我想case when then应该也是支持的吧: SELECT (CASE length(POPEDOM) WHEN 3 THEN substr(POPEDOM, 0, 2) WHEN 4 THEN substr(POPEDOM, 0, 3) WHEN 5 THEN substr(POPEDOM, 0, 2) WHEN 6 THEN substr(POPEDOM, 0, 3) WHEN 7 THEN substr(POPEDOM, 0, 2) END) AS TYPE FROM DUAL;

17,090

社区成员

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

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