先贴出来这样一段代码
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%'
分享到:
相关推荐
第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 ...
PL/SQL是Oracle数据库的编程语言,它结合了SQL的优点和过程式编程语言的特性,为存储在Oracle数据库中的数据提供了一个强大的编程环境。本段内容涉及的是Oracle数据库10g版本的PL/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 中的类型有很多种,主要可以分为以下几类:字符串类型、数值类型、日期类型、PL/SQL 类型和自定义类型。今天,我们主要介绍 Oracle 自定义 TYPE 类型的用法和应用。 字符串类型 在 Oracle 中,字符串类型...
实习生通过这次实习,学习了大量的技术知识,包括 SQL 语言、Oracle 数据库开发、PL/SQL、javaSE 核心编程、XML、JDBC 等,并完成了多个项目的开发。同时,实习生也学习了职业素质培养、职业规划和模拟面试,提高了...
5. **数据库管理**:作者熟悉SQL Server 201*,并能编写SQL语句,同时也接触到了Oracle数据库,了解PL/SQL编程,这在开发过程中对于数据管理和交互至关重要。 6. **开发工具**:实习期间,作者使用了Visual Studio ...
- 询问关于Oracle数据库的高级特性,如PL/SQL和数据库参数设置。 - 评估应聘者对于Oracle数据库的深入理解和优化能力。 **7. SQL查询** - 提供多张表,要求用一条SQL语句实现特定需求。 - 考核应聘者对于复杂SQL...
Sql Server 2000用于大学教材管理系统,Oracle则是在海运进口系统开发中使用,这使作者对这两种数据库有了深入的理解,特别是Oracle的PL/SQL编程。 5. **组件开发**:作者掌握了C#组件开发技术,这是构建可重用和可...
异种计算模型新增了Java语言对GPU的支持、FPGA、离线引擎、远程PL/SQL。Java 10及以上:支持扩展函数类型,具有真正的泛型函数类型,包括多维数组数据结构优化。Java版本十年内发布时间表。Java不会死,至少在未来的...