问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle 数据库问题

发布网友 发布时间:2022-04-12 10:48

我来回答

3个回答

热心网友 时间:2022-04-12 12:17

首先来看第一个decode函数,这个函数起基本语法是
decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值);
并不能比较大小
这里可以在引入一个函数sign,sign是取数字符号的(select (-10) from al;返回的是-1)
小于零返回-1,等于0返回0,大于0返回1
我们可以修改下你这个语句为:
SELECT ENAME 姓名,

DECODE(SIGN(SAL-3000),1,(SAL*0.2),0,(SAL*0.2),-1,
DECODE(SIGN(SAL-2000),1,(SAL*0.15),0,(SAL*0.15),-1,
DECODE(SIGN(SAL-1000),1,(SAL*0.1),0,(SAL*0.1),-1,0)))应缴税款

from EMP;

再看第二个,这里要用case搜索函数
SELECT ENAME 姓名,
CASE
WHEN SAL<1000 THEN 0
WHEN SAL>=1000 AND SAL<2000 THEN SAL*0.1
WHEN SAL>=2000 AND SAL<3000 THEN SAL*0.15
ELSE SAL*0.2
END 应交税款
FROM EMP;

热心网友 时间:2022-04-12 13:35

1、SELECT Ename,
       Decode(Sign(Sal - 1000), -1, 0,
               Decode(Sign(Sal - 2000), -1, Sal * 0.1,
                       Decode(Sign(Sal - 3000), -1, Sal * 0.15, Sal * 0.2))), Sal
  FROM Emp
2、SELECT Ename,
       (CASE
         WHEN Sal < 1000 THEN 0
         WHEN Sal >= 1000 AND Sal < 2000 THEN Sal * 0.1
         WHEN Sal >= 2000 AND Sal < 3000 THEN Sal * 0.15
         ELSE Sal * 0.2
       END),Sal
  FROM Emp;

第一种写法的错误:DECODE用法错误,括号内应该是表达式、值、结果而不是列、判断列。

第二种写法的错误:格式应该是这样 CASE WHEN 表达式 THEN END,或是这样 CASE 表示式 WHEN 值 THEN 结果 END。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 陈述句怎么转为转述句? 陈述句怎样改转述句 怎么改转述句变陈述句,陈述句变转述句。 陈述句改转述句的题,转述句怎么改,什么是转述句 有一段跟计算机有关的英语文献求高手帮翻译! 如何把陈述句变为转述句 学名为Paraqianlabeo lineatus,中文名是什么 陈述句改为转述句怎么改 把陈述句改为转述句? 怎么把陈述句改为转述句 陈述句改为转述句的口诀是什么? 苹果笔记本废纸篓 mac电脑 显示文件不能移动到废纸篓是什么情况 朋友给我发一条微信图片,我的微信显示他己撒回,但拿他的手机看图片还在,这是什么原因,求高手指教 十进制加法计数器是如何去掉后6个计数状态的? 如果别人进入我的微信,能不能把我的图片发给我通讯录朋友? 为什么别人发给我的微信的图片第二天就看不到了! 女友把以前给我的微信图片她现在用了是啥意思? 00后应该学什么技术好呢? 00后男孩子学厨师好么? 把陈述句改为转述句 陈述句怎么改为转述句 怎样把陈述句改成转述句? 转述句改陈述句 360浏览器有的网页不出现自动保存密码对话框 音箱后面只有正负极的如何用? 爱国者的音箱正负极 功放音箱正负极的线,如何连接电脑。 音响如何接正负极 如何可以将一台电脑上的大量数据快速的转移到另一台电脑上? oracle数据库的查询问题,大侠们帮帮忙吧,谢谢了啊!!! 为什么解东的时候,他提示我们已经发送短信验证码到你的手机上,可是我这个微信没有绑定过手机号呀_百度问一问 韭菜煎蛋取什么名字好听 湖北管韭菜炒鸡蛋叫什么名字 粉丝豆芽韭菜鸡蛋炒在一起叫什么合子饭? 中国东航近期走势?中国东航的财务分析报告?中国东航的股价在多少比较合适? 中国东航基本面原因分析?中国东航的财务报表分析?中国东航股票手机诊股? 刘文辉的学术研究 中国东航为什么会大跌?中国东航年度财务报表?像中国东航一样的好股票还有哪些? 中国东航 近期走势?中国东航股票财务报表分析?中国东航最新新闻联播?