`
xfei6868
  • 浏览: 70622 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

维护有感2--pl/sql这样写有点繁

阅读更多
先贴出来这样一段代码
SELECT decode(length(substr(max(to_number(CGBH)), 5) + 1),
                         null,
                         null,
                         1,
                         1998 || '000' ||
                         (substr(max(to_number(CGBH)), 5) + 1),
                         2,
                         1998 || '00' ||
                         (substr(max(to_number(CGBH)), 5) + 1),
                         3,
                         1998 || '0' || (substr(max(to_number(CGBH)), 5) + 1),
                         1998 || substr(max(to_number(CGBH)), 5) + 1) CGBH
             FROM LWZZ
            WHERE CGBH LIKE '1998%'
           UNION
           SELECT to_char('1998' || '0000' + 1) cgbh
             FROM LWZZ
            WHERE (SELECT max(CGBH)
                     FROM LWZZ
                    WHERE CGBH LIKE '1998%') is null


这段话的功能无非是找到开头四位为2009的最大序号,然后加1的一个查询,其中后面也为四位,其中用到了decode函数。
但是岂不知orcale本身有专门负责填充位的lpad函数,和专门负责判断null的nvl函数,又何必写的这么复杂,让人一下子难以理解呢?

这样不是很好嘛:
select lpad (nvl(substr(max(to_number(CGBH)), 5), '0') + 1, 4, '0') 
    from lwzz 
    WHERE CGBH LIKE '1998%'
0
0
分享到:
评论

相关推荐

    收获,不止SQL优化--抓住SQL的本质

    第1章 全局在胸——用工具对SQL整体优化 1 1.1 都有哪些性能工具 1 1.1.1 不同调优场景分析 2 1.1.2 不同场景对应工具 2 1.2 整体性能工具的要点 4 1.2.1 五大性能报表的获取 5 1.2.2 五大报表关注的要点 10 ...

    plsql 官方文档

    PL/SQL是Oracle数据库的编程语言,它结合了SQL的优点和过程式编程语言的特性,为存储在Oracle数据库中的数据提供了一个强大的编程环境。本段内容涉及的是Oracle数据库10g版本的PL/SQL用户指南和参考手册,版本号为...

    修改工具栏图标及大小

    工具栏作为软件或应用程序界面的重要组成部分,它的图标和大小直接影响着用户的操作便捷性和视觉感受。本篇将详细介绍如何修改工具栏的图标及其大小,并确保加载的图标在不同设备和分辨率下不失真。 一、理解工具栏...

    收获不止SQL优化

    第1章 全局在胸——用工具对SQL整体优化 1 1.1 都有哪些性能工具 1 1.1.1 不同调优场景分析 2 1.1.2 不同场景对应工具 2 1.2 整体性能工具的要点 4 1.2.1 五大性能报告的获取 5 1.2.2 五大报告关注的要点 10 ...

    oracle自定义Type类型(感受Oracle的编程)

    Oracle 中的类型有很多种,主要可以分为以下几类:字符串类型、数值类型、日期类型、PL/SQL 类型和自定义类型。今天,我们主要介绍 Oracle 自定义 TYPE 类型的用法和应用。 字符串类型 在 Oracle 中,字符串类型...

    java 实习 总结

    实习生通过这次实习,学习了大量的技术知识,包括 SQL 语言、Oracle 数据库开发、PL/SQL、javaSE 核心编程、XML、JDBC 等,并完成了多个项目的开发。同时,实习生也学习了职业素质培养、职业规划和模拟面试,提高了...

    2021年软件开发实习报告.docx

    5. **数据库管理**:作者熟悉SQL Server 201*,并能编写SQL语句,同时也接触到了Oracle数据库,了解PL/SQL编程,这在开发过程中对于数据管理和交互至关重要。 6. **开发工具**:实习期间,作者使用了Visual Studio ...

    阿里巴巴面试资料

    - 询问关于Oracle数据库的高级特性,如PL/SQL和数据库参数设置。 - 评估应聘者对于Oracle数据库的深入理解和优化能力。 **7. SQL查询** - 提供多张表,要求用一条SQL语句实现特定需求。 - 考核应聘者对于复杂SQL...

    软件开发实习报告.pdf

    Sql Server 2000用于大学教材管理系统,Oracle则是在海运进口系统开发中使用,这使作者对这两种数据库有了深入的理解,特别是Oracle的PL/SQL编程。 5. **组件开发**:作者掌握了C#组件开发技术,这是构建可重用和可...

    Java优势依然 甲骨文爆十年规划

    异种计算模型新增了Java语言对GPU的支持、FPGA、离线引擎、远程PL/SQL。Java 10及以上:支持扩展函数类型,具有真正的泛型函数类型,包括多维数组数据结构优化。Java版本十年内发布时间表。Java不会死,至少在未来的...

Global site tag (gtag.js) - Google Analytics