Tuning SQL via case when statement】的更多相关文章

原SQL如下:SQL的主要问题是红色部分居然通过标量查询,反复的查找与SQL相同的基表,很显然这个可以用case when来简化. select a.TRAN_ID,a.AMOUNT,a.BALANCE,a.INVAMT,a.PROMISED,a.INVNO,a.RCLNUM,b.PROBLEM_ID, a.TRANTYPE,a.TYPE,a.DUEDATE,a.INVDATE,a.RCLDATE,a.LASTTYPE,a.LOCBAL,a.CUSTNO,b.STATUS,a.PAYMENTS_…
http://www.cnblogs.com/kevin2013/archive/2010/07/02/1769682.html SQL利用Case When Then多条件判断SQL ,用于select,生成新字段,可以理解 另外,如何用于 update 多条件判断? http://www.cnblogs.com/kevin2013/archive/2010/07/02/1769688.html 此文尚未阅读…
刚入手公司项目,需要添加一个功能,用到了SQL的case when以及concat SELECT eve.cc, eve.sc, case concat(cc,sc) ' THEN '' ' THEN '得意先' ' THEN '仕入先' ' THEN '得意先/仕入先' ELSE '' END as client_supplier_class FROM ( SELECT bd0.id, bd0.created, bd0.creator, bd0.modified, bd0.modifier,…
SQL Fundamentals || Oracle SQL语言 Capabilities of the SELECT Statement(SELECT语句的功能) Data retrieval from data base is done through appropriate and efficient use of SQL. Three concepts from relational theory encompass the capability of the SELECT statem…
case具有两种格式.简单case函数和case搜索函数. 按 Ctrl+C 复制代码 这两种方式,可以实现相同的功能.简单case函数的写法相对比较简洁,但是和case搜索函数相比,功能方面会有些限制,比如写判定式. 还有一个需要注重的问题,case函数只返回第一个符合条件的值,剩下的case部分将会被自动忽略. --比如说,下面这段sql,你永远无法得到"第二类"这个结果 case when col_1 in ('a','b') then '第一类' when col_1 in (…
Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 这两种方式,可以实现相同的功能.简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式. 还有一个需要…
sql语句判断方式之一Case.具有两种格式:简单的Case函数.Case搜索函数. 1.简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END 2.Case搜索函数 CASE WHEN sex='1' THEN '男' WHEN sex='2' THEN '女' ELSE sex='其他' END…
CASE     WHEN 条件1 THEN 结果1     WHEN 条件2 THEN 结果2     WHEN 条件3 THEN 结果3     WHEN 条件4 THEN 结果4 .........     WHEN 条件N THEN 结果N     ELSE 结果X END Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex          WHEN '1' THEN '男'          WHEN '2' THEN '女' ELSE…
sql语言中有没有类似C语言中的switch case的语句?? 没有,用case   when   来代替就行了.            例如,下面的语句显示中文年月         select   getdate()   as   日期,case   month(getdate())     when   11   then   '十一'     when   12   then   '十二'     else   substring('一二三四五六七八九十',   month(getda…
接上篇 四,根据条件有选择的UPDATE. 例,有如下更新条件 工资5000以上的职员,工资减少10% 工资在2000到4600之间的职员,工资增加15% 很容易考虑的是选择执行两次UPDATE语句,如下所示 --条件1UPDATE PersonnelSET salary = salary * 0.9WHERE salary >= 5000;--条件2UPDATE PersonnelSET salary = salary * 1.15WHERE salary >= 2000 AND salar…