- 浏览: 499738 次
- 性别:
- 来自: 沈阳
文章分类
- 全部博客 (437)
- Windows设置 (2)
- oracle数据库 (39)
- bug--jsp (4)
- j2se (13)
- js (40)
- bug-tomcat不能启动程序 (1)
- Hibernate (29)
- eclipse (20)
- java (65)
- 设计模式 (6)
- bug (18)
- PL/SQL (11)
- 前台 (5)
- 杂谈 (25)
- UML (1)
- jdbc编程 (2)
- 技术调研 (1)
- 数据通信 (2)
- ios (1)
- servlet自学笔记 (10)
- tomcat (9)
- SQL学习笔记 (6)
- java工具 (1)
- 数据库设计 (4)
- javascript (10)
- jsp (11)
- struts (17)
- ajax (7)
- linix/Unix (6)
- 资源 (3)
- spring (14)
- 算法 (5)
- 计算机网络 (2)
- http (5)
- c++ (2)
- web应用 (3)
- jvm (5)
- java中的字符编码 (14)
- java代码库 (2)
- classloader (1)
- 读书笔记 (1)
- c (1)
- 开源软件 (1)
- svn (1)
- AOP (1)
- java序列化 (1)
- 多线程 (4)
- The legendary programmers (1)
- Apache http Server (1)
- html tag (3)
- struts1.X学习笔记 (5)
- buffalo (1)
- 自己收藏 (0)
- TOEFL(IBT) (1)
- 网络翻墙 (0)
- 编译原理 (1)
- 书籍推荐 (1)
- css (10)
- javaee环境搭建资料 (1)
- 开源工具 (1)
- 美国生活 (1)
- spring自学 (3)
- log4j (3)
- 算法与数据结构 (5)
- 病毒,插件处理大全 (1)
- flex (2)
- webservice (1)
- git (7)
- cs (1)
- html (4)
- javaee (6)
- 开车 (0)
- springmvc (3)
- 互联网架构 (2)
- intellij idea (18)
- maven (15)
- mongodb (2)
- nginx (1)
- react (3)
- java基础例子 (2)
- springboot (2)
- 培训 (5)
- mysql (3)
- 数据库 (3)
- 生活 (2)
- intellij (3)
- linux (2)
- os (3)
最新评论
-
潇洒天涯:
[color=blue][color=cyan] ...
oracle 通过 nvl( )函数sql 查询时为 空值 赋默认值 -
hekai1990:
受教了..
oracle中的varchar2
今天做项目时有个需求,自动生成员工工号。工号的生成规则是“前缀”+9+“000001开始的流水号”,如“GS9000001”,而且工号要连续,下一个流水号为“GS9000002”。
思路,找oracle数据库中员工工号c_code列9后面的字符串,计算最大值,然后+1生成流水号,在前台加上前缀。
SELECT max(to_number(trim(substr(c_code,instr(c_code,'9'))),'9999999')) FROM tb_inf_employee;
可一旦有脏数据,字符不能转成整数类型,max()返回字符对应编码最大的,to_number函数直接出错了。
因此考虑过滤非数字的字符,上网查了一下,用oracle的translate函数。
语法:TRANSLATE(char, from, to)
用法:返回将出现在from中的每个字符替换为to中的相应字符以后的字符串。
若from比to字符串长,那么在from中比to中多出的字符将会被删除。
三个参数中有一个是空,返回值也将是空值。
注意,你不能使用空字符串来作为to_string参数以用来移除char参数中的所有字符,oracle将空字符解释为null,如果这个函数中任何一个参数为null,那么将返回null。可用“#”代替,如translate("123abc他们456","#1234567890","#")->abc他们。
网上的例子,用于过滤字符中的非数字部分:
select translate('23456中国3-00=.,45','0123456789'||'23456中国3-00=.,45','0123456789') from dual;
pl/sql试了一下输出:2345630045,成功。修改后的sql:
SELECT max(to_number(translate(trim(substr(c_code,instr(c_code,'9'))),'0123456789'||trim(substr(c_code,instr(c_code,'9'))),'0123456789') ,'9999999999999999999'))FROM tb_inf_employee;
疑问,'0123456789'||'23456中国3-00=.,45'不理解,字符串或操作什么意思?上面的sql语句有点太长了,应该如何写好呢?希望高手指点~~
发表评论
-
【转】数据库事务的四大特性以及事务的隔离级别
2017-10-12 23:09 535本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说 ... -
oracle连接plsql
2015-07-27 16:02 589oracle查看本机服务名 在cmd命令窗口: ... -
【转】oracle查询:取出每个分组中的第一条记录
2015-05-27 17:26 3453排序后取第一条记录 select * from (sel ... -
【转】java 调用存储过程 实例
2015-05-06 14:55 492共4个 一.只有输入参数没有返回结果的存储过程 二. 有 ... -
【转】Oracle导出表(即DMP文件)的两种方法
2015-05-04 20:00 864方法一:利用PL/SQL Developer工具导出: ... -
【转】Oracle创建表空间、创建用户以及授权
2015-05-04 20:00 553Oracle安装完后,其中有一个缺省的数据库,除了这个缺省 ... -
【转】ORA-12519错误解决方案
2015-05-04 19:54 991系统正常运行一个月后,上线第一天出现了下列错误,想了很久没有 ... -
【转】查看修改表空间sql语句
2015-05-01 16:26 551--所有表ower, 表名,表空间名 select ... -
【转】Oracle带输入输出参数的存储过程
2015-04-30 22:33 814(一)使用输入参数需求:在emp_copy中添加一条记录,em ... -
【转】oracle存储过程、声明变量、for循环
2015-04-30 22:20 1272oracle存储过程、声明变量、for循环 1、创建存储 ... -
【转】Oracle数据库备份之exp/imp用法
2015-04-30 22:16 566------------------------------ ... -
【转】 oracle单行函数
2015-04-22 10:17 737虽然各个数据库都是支持SQL语句的,但是每一个数据库也有每一 ... -
【转】Oracle中group by用法
2015-04-21 18:22 566在select 语句中可以使用group by 子句将行划分 ... -
【转】Oracle中sign函数和decode函数的使用
2015-04-20 15:09 622Oracle中sign函数和decode函数的使用 ... -
[转]Oracle字符串拼接的方法
2015-04-09 14:43 2165本文转自:http://www.blogjava.net/l ... -
【转】oracle 10g怎么导入dmp文件,在windows下
2015-03-06 16:19 13开始-->运行-->输入cmd或是wind ... -
【转】Oracle新建用户、角色,授权,建表空间
2015-03-03 17:03 17oracle数据库的权限系统分为系统权限与对象权限。系统权限 ... -
【转】Oracle数据库-建库、建表空间,建用户
2015-03-02 16:54 21Oracle安装完后,其中有一个缺省的数据库,除了这个缺省 ... -
oracle ASCII字符串<==>16进制串
2013-01-19 07:42 1582sql中可以直接插入16进制字串表示的数据到blob表中。如 ... -
【转】Oracle中Decode()函数使用技巧
2012-11-19 14:36 938decode()函数是ORACLE PL/SQL是 ...
相关推荐
SQL Sserver 实现oracle translate函数
### ORACLE `replace` 和 `translate` 函数详解 在Oracle数据库中,处理字符串是非常常见的需求之一。为了更好地管理和操作数据,Oracle提供了多种内置函数来帮助我们实现这一目标。其中两个常用的函数是 `replace`...
17. TRANSLATE函数:替换字符串中的指定字符集为另一个指定字符集。 18. TRIM函数:删除字符串的前后指定字符集。 19. UPPER函数:将字符串中的所有字符转换为大写。 数字函数 1. ABS函数:返回一个数字的绝对值。 ...
**translate函数** `translate`函数的主要作用是在一个字符串`expr`中,将`from_string`中的每个字符替换为`to_string`中相应位置的字符。其基本语法如下: ```sql translate(expr, from_string, to_string) ``` ...
16. **TRANSLATE** 函数:将字符串中的某些字符替换为其他字符,如 `TRANSLATE('ABCDefghijklmn', 'eg', '替代')` 替换'e'和'g'。 了解并熟练使用这些函数,能帮助你在Oracle数据库中更高效地进行字符串处理,无论...
### Oracle系统内置函数详解 #### F.1 字符函数 —— 返回字符值 **1. ASCII** - **语法**: `ASCII(charc)` - **功能**: 返回一个字符串的第一个字符的ASCII码,其逆函数是`CHR()`。 - **使用示例**: - `SELECT ...
除此之外,Oracle还有其他很多功能强大的函数,如TRIM(同时去除字符串两侧的指定字符)、TRANSLATE(替换字符串中的一组字符为另一组字符)、REVERSE(反转字符串)等。这些函数在SQL查询和数据处理中发挥着重要...
在 Oracle 数据库中,`REPLACE` 和 `TRANSLATE` 都是字符串处理函数,但它们在功能和使用上存在显著的区别。首先,我们来详细了解这两个函数。 **REPLACE 函数** `REPLACE` 函数的主要作用是将源字符串(char)中...
以下是从“Oracle常用函数.txt”文件中提炼出的关键知识点,旨在为初学者提供深入理解与实践的指导。 ### ASCII() 和 CHR() - **ASCII()** 函数用于返回一个字符的ASCII码值。例如,`ASCII('A')` 返回的是65,而 `...
### Oracle常用函数详解 #### 一、概述 Oracle 数据库提供了丰富的内置函数,极大地提高了 SQL 语句在处理数据时的灵活性与效率。这些函数主要分为两大类:单行函数和多行函数(也称为聚合函数)。单行函数通常...
在Oracle数据库中,函数是一类预定义的子程序,它可以对输入参数执行运算,并返回一个结果值。Oracle提供了一系列的函数,用于处理不同类型的数据,如字符串、数字、日期和时间等。下面按照文档所提供的内容,详细...
- `TRANSLATE`: Oracle 的字符串翻译函数,SQL Server 没有直接对应的功能,但可以通过其他方法实现。 - `LENGTH/LEN/DATELENGTH`: Oracle 使用 `LENGTH` 获取字符串长度,SQL Server 有 `LEN`(用于字符串)和 `...
- **字符串翻译**: `TRANSLATE`函数在Oracle中用于替换字符串中的字符,SQL Server中没有直接对应的函数。 - **字符串长度**: `LENGTH`函数在Oracle中用于计算字符串长度,在SQL Server中使用`LEN`或`DATALENGTH`...
在Oracle数据库中,各种内置函数为开发者提供了强大的工具来处理不同的数据类型、数学计算以及字符串操作等。以下是一些在实际开发过程中经常使用的Oracle数据库函数的详细介绍。 #### 数学函数 1. **ABS**: 返回...
我们来详细了解一下这些函数中的一些常见代表。 1. 字符函数: - CHR:通过ASCII码值返回对应的字符。例如,CHR(54740)返回“赵”,它与ASCII函数形成互逆关系。 - CONCAT:连接两个或多个字符串。如CONCAT('010-...
以下是对标题和描述中提及的Oracle数据类型及常用函数的详细讲解。 **一、Oracle数据类型** 1. **字符数据类型** - `Char(n)`:固定长度的字符串,最多可存储n个字符,不足会填充空格。 - `Varchar2(n)`:可变...
字符处理函数在Oracle中尤为重要,如`INITCAP`用于首字母大写,`UPPER`和`LOWER`用于全角和半角字符的转换,`CONCAT`或`||`用于字符串拼接,`ASCII`和`CHR`则分别用于获取字符的ASCII码和根据编码创建字符。...
Oracle数据库系统内置了大量的函数,这些函数为数据库编程提供了极大的便利,因为它们是由Oracle公司的专家编写的,内嵌在数据库系统中,执行效率非常高。利用这些函数,开发者可以编写出更高效、更简洁的代码,从而...