Welcome 微信登录

首页 / 数据库 / MySQL / Oracle中的decode在mysql中的等价实现

mysql支持if
格式:
IF(expr1,expr2,expr3)
如果expr1是TRUE(expr1<>;0且expr1<>;NULL),那么IF()返回expr2,否则它返回expr3。IF()返回一个数字或字符串值
例如
SELECT IF(1<2, "yes ", "no ");
输出yes同时,还支持case
SELECT   CASE   WHEN   1> 0   THEN   "yes "   ELSE   "no "   END;
还是输出yes来例子说明:例一
//Oracle中 decode(Emergency,1,"紧急","普通")//mysql
select a.title,if(a.Emergency=1,"紧急","普通")emergency from already_sign aSelect title,case Emergency when 1 then "紧急" else "普通" End as emergency   from already_sign
例二oracle的写法
SELECT decode(ttype,1,’a",2,’b",3,’c",’d") FROM taba可以在mysql里写成
SELECT if(ttype=1, "a",if(ttype=2,"b", if(ttype =3, "c", "d"))) FROM taba同理
DECODE(hj_bz, 1, "总库入", 2, "总库出",3,"分库出",4,"已开票",5,"已安装",6,"已收款")if(hj_bz=1,"总库入",if(hj_bz=2,"总库出",if(hj_bz=3,"分库出",if(hj_bz=4,"已开票",if(hj_bz=5,"已安装","已收款")))))Oracle中数据类型number(m,n)MySQL创建Function时报的1418错误代号解决办法相关资讯      oracle 
  • [INS-32052] Oracle基目录和Oracle  (07/22/2014 07:41:41)
  • Oracle 4个大对象(lobs)数据类型  (02/03/2013 12:33:05)
  • Oracle按时间段分组统计  (07/26/2012 10:36:48)
  • [Oracle] dbms_metadata.get_ddl的  (07/12/2013 07:37:30)
  • Liferay Portal 配置使用Oracle和  (07/31/2012 20:07:18)
  • Concurrent Request:Inactive   (07/20/2012 07:44:05)
本文评论 查看全部评论 (0)
表情: 姓名: 字数