背景:给同事做了个报表,使用时从EXCEL、网页等向报表中拷贝查询条件(局编)。
用户反映查不出数据——调查后发现用户填的局编带有空格——随手加了TRIM
又有查不出数据的情况——带有全角空格——用Replace替换全角空格
还有查不到,调查发现可能混有换行、EXCEL中神秘的空白符等。
处理:第一反应是让用户粘贴前先转贴到记事本中,“过滤”一下无效字符。简单、有效,但很不友好。
解决:咨询后得知合理的局编仅由数字组成,那么可以放心的滤掉所有非数字字符。(注:10g以后用regex_replace很容易实现。)
对此Oracle提供了translate(a, b, c)函数:
- a,b,c三个参数均是字符串
- 当a,b,c中任一个为NULL时,返回NULL。
- 否则,对a中每个字符x、在b中查找:
如找不到,则追加x到返回值中,
如找到,则再尝试从c中取对应位置的字符y(例如x出现在b中、是第6个字符,则从c中也取第六个字符,若c不足6个字符,则y为NULL)
如y不为NULL,追加y到返回值中
如y为NULL,忽略x
非数字字符太多,不可能一一列出。因此分两步:首先滤出非数字字符f:
然后将f作为过滤串再滤一次,即可得到纯数字串(拼接一个0前缀保证非空,避免返回NULL),组合起来:
分享到:
相关推荐
Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据处理能力与PL的程序设计特性,是Oracle数据库系统中用于创建存储过程、函数、触发器和包的主要工具。在这个"Oracle PL/SQL实战(待续)"的主题中,我们将深入...
ORACLE PL/SQL是从入门到精通的专业知识,涵盖了数据库开发与管理的多个方面,包括触发器、过程、函数、软件包、异常处理、游标、循环、分支、变量使用、数据库安装等关键知识点。 触发器是数据库中用来保证数据...
2. **数据类型**:PL/SQL支持多种数据类型,包括数值类型(如NUMBER)、字符串类型(如VARCHAR2、CHAR)、日期时间类型(如DATE)、布尔类型(BOOLEAN)以及复合数据类型(如记录和数组)。 3. **变量声明和赋值**...
例如,PL/SQL中的块由BEGIN、END语句界定,变量和常量用于存储数据,数据类型包括数字、字符串、日期等。 2. **流程控制**:PL/SQL提供了多种流程控制结构,如条件语句(IF-THEN-ELSIF-ELSE)、循环(WHILE、FOR、...
PL/SQL 提供了多种数据类型,例如数字、字符、日期等。数字类型包括整数、浮点数等。字符类型包括字符、字符串等。日期类型包括日期、时间等。 十、基本类型(系统预定义类型) PL/SQL 提供了多种基本类型,例如...
Oracle PL/SQL 语言是Oracle数据库系统中的一种高级编程语言,它是SQL的扩展,专为数据库管理和应用程序开发设计。PL/SQL集成了SQL的查询、操纵、定义和控制功能,并添加了过程化编程元素,使其成为数据库管理和开发...
Oracle PL/SQL是一种强大的编程语言,它将数据库管理和应用程序逻辑紧密结合起来,是Oracle数据库系统中的核心组件之一。这本书“Oracle PL/SQL实例编程”显然旨在深入讲解如何利用PL/SQL进行实际开发工作,通过实例...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL(结构化查询语言)的数据库操作能力和过程性编程语言的控制结构。在"Oracle PL/SQL"这本书中,作者深入浅出地探讨了这一语言的核心概念和实用技巧,尤其适合法语...
《Oracle PL/SQL程序设计(第5版)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何有效地使用它。...
《oracle pl/sql程序设计(第5版)》基于oracle数据库11g,从pl/sql编程、pl/sql程序结构、pl/sql程序数据、pl/sql中的sql、pl/sql应用构建、高级pl/sql主题6个方面详细系统地讨论了pl/sql以及如何有效地使用它。...
11. **实用程序和内置函数**:熟悉Oracle提供的各种内置函数,如数学函数、字符串函数、日期时间函数等,以及如何利用它们增强PL/SQL代码的功能。 12. **数据库对象的DDL操作**:学习如何在PL/SQL中创建、修改和...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL(结构化查询语言)的数据库操作能力和Procedural Language的控制结构,使得开发人员可以创建复杂的数据库应用程序。"ORACLE PL/SQL 804+中文补丁"是针对Oracle...
PL/SQL是Oracle数据库系统中的过程式语言,它结合了SQL的数据操作能力与结构化编程语句,使得开发者能够创建复杂的数据处理逻辑和业务规则。本资料“PL/SQL入门到精通书的源代码”是一份针对初学者到高级用户的实践...
14. **PL/SQL内置函数**:Oracle提供了大量的内置函数,如数学函数、字符串函数、日期时间函数等,用于处理各种数据类型。 15. **动态SQL**:通过EXECUTE IMMEDIATE语句,可以在运行时构建和执行SQL,增强了程序的...
PL/SQL Developer是一款专为Oracle数据库设计的集成开发环境,它极大地简化了PL/SQL语言的编写、调试和管理任务。远程连接Oracle数据库是PL/SQL Developer的一项关键功能,允许用户在本地计算机上操作和管理远程...
### Oracle PL/SQL测试题目与知识点解析 #### 一、选择题知识点解析 **1. Oracle数据库中为新创建的表分配的初始空间通常为多大?** - **知识点解析:** Oracle数据库为新创建的表分配的空间单位是“区”(Extent...
《Oracle PL/SQL程序设计(第5版)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何有效地使用它。...
PL/SQL 支持多种数据类型,包括数字、字符、日期和时间等。开发者可以根据需要选择合适的数据类型来声明变量。同时,PL/SQL 也支持复杂的数据类型,如数组、记录和集合等。 PL/SQL 是一个功能强大且灵活的编程语言...
### Oracle PL/SQL 编程知识点详解 #### 一、SQL PLUS 命令与用法 ##### 1. 引言与 SQL 命令 SQL PLUS 是一个功能强大的命令行工具,用于与 Oracle 数据库进行交互。SQL PLUS 支持一系列标准 SQL 命令,这些命令...
- **变量和数据类型**:PL/SQL支持多种数据类型,包括数字类型、字符类型、日期类型等。 - **流程控制结构**:PL/SQL提供了丰富的流程控制结构,如IF-THEN-ELSE语句、CASE语句、FOR循环、WHILE循环等。 - **异常处理...