1.translate
语法:TRANSLATE(char, from, to)
用法:返回将出现在from中的每个字符替换为to中的相应字符以后的字符串。
若from比to字符串长,那么在from中比to中多出的字符将会被删除。
三个参数中有一个是空,返回值也将是空值。
举例:SQL> select translate('abcdefga','abc','wo') 返回值 from dual;
返回值
-------
wodefgw
分析:该语句要将'abcdefga'中的'abc'转换为'wo',
由于'abc'中'a'对应'wo'中的'w',
故将'abcdefga'中的'a'全部转换成'w';
而'abc'中'b'对应'wo'中的'o',
故将'abcdefga'中的'b'全部转换成'o';
'abc'中的'c'在'wo'中没有与之对应的字符,
故将'abcdefga'中的'c'全部删除;
简单说来,就是将from中的字符转换为to中与之位置对应的字符,
若to中找不到与之对应的字符,返回值中的该字符将会被删除。
在实际的业务中,可以用来删除一些异常数据,
比如表a中的一个字段t_no表示电话号码,
而电话号码本身应该是一个由数字组成的字符串,
为了删除那些含有非数字的异常数据,
就用到了translate函数:
SQL> delete from a,
where length(translate(trim(a.t_no),
'0123456789' || a.t_no,
'0123456789')) <> length(trim(a.t_no));
2.replace
语法:REPLACE(char, search_string,replacement_string)
用法:将char中的字符串search_string全部转换为字符串replacement_string。
举例:SQL> select REPLACE('fgsgswsgs', 'fk' ,'j') 返回值 from dual;
返回值
---------
fgsgswsgs
SQL> select REPLACE('fgsgswsgs', 'sg' ,'eeerrrttt') 返回值 from dual;
返回值
-----------------------
fgeeerrrtttsweeerrrttts
分析:第一个例子中由于'fgsgswsgs'中没有与'fk'匹配的字符串,
故返回值仍然是'fgsgswsgs';
第二个例子中将'fgsgswsgs'中的字符串'sg'全部转换为'eeerrrttt'。
总结:综上所述,replace与translate都是替代函数,
只不过replace针对的是字符串,而translate针对的是单个字符。
分享到:
相关推荐
### ORACLE `replace` 和 `translate` 函数详解 在Oracle数据库中,处理字符串是非常常见的需求之一。为了更好地管理和操作数据,Oracle提供了多种内置函数来帮助我们实现这一目标。其中两个常用的函数是 `replace`...
在 Oracle 数据库中,`REPLACE` 和 `TRANSLATE` 都是字符串处理函数,但它们在功能和使用上存在显著的区别。首先,我们来详细了解这两个函数。 **REPLACE 函数** `REPLACE` 函数的主要作用是将源字符串(char)中...
在Oracle数据库中,`translate`和`replace`是两个用于字符串处理的重要函数,它们在文本操作和数据清洗中发挥着关键作用。 `translate`函数的语法是:`translate(expr, from_string, to_string)`。这个函数接收三个...
### ORACLE中CLOB字段转String类型 在Oracle数据库中,`CLOB`(Character Large Object)是一种用于存储大量文本数据的数据类型。由于其能够存储非常大的文本块(最大可达4GB),因此常被用于存储文章、报告或任何...
- `CURRVAL`和`NEXTVAL`在Oracle中处理序列,SQL Server中使用`IDENT_CURRENT`和`IDENTITY`属性。 - `NULLIF`在Oracle和SQL Server中用于比较并返回NULL。 - `UID`、`SUSER_ID`、`USER_ID`、`USER`、`CURRENT_...
- **日期间隔**: Oracle中使用`MONTHS_BETWEEN`函数计算两个日期之间的间隔,在SQL Server中使用`DATEDIFF`函数。 - **当前日期时间**: Oracle中的`SYSDATE`函数与SQL Server中的`GETDATE()`函数相对应。 - **月份...
可以使用`TRANSLATE`函数将所有可能的数字字符(包括小数点、正负号和科学计数法中的“E”或“e”)替换为固定的字符,然后比较替换后字符串的大小,以此来判断原字符串是否可以转换为数字。 **步骤**: 1. **定义...
通过本文的学习,我们了解到在Oracle中将字符串转换为Number类型的几种方法,包括使用`TRIM`、`TRANSLATE`、`REGEXP_REPLACE`以及`TO_NUMBER`函数。每种方法都有其适用场景,选择合适的方法能够有效地解决不同类型的...
总结起来,"Oracle替换"主要关注如何在Oracle数据库中对字符串进行查找和替换操作,包括标准的`REPLACE`函数,以及更复杂的`REGEXP_REPLACE`和`TRANSLATE`函数。同时,通过自定义的PL/SQL函数,开发者可以进一步定制...
- 在Oracle中,对于字符串中出现的单引号,需要进行转义处理,例如使用`Translate`函数替换所有的`\'`为`''`。 通过以上详细步骤和技术要点,我们可以有效地将MySQL数据库中的数据及其相关的应用程序迁移至Oracle...
除此之外,Oracle还有其他很多功能强大的函数,如TRIM(同时去除字符串两侧的指定字符)、TRANSLATE(替换字符串中的一组字符为另一组字符)、REVERSE(反转字符串)等。这些函数在SQL查询和数据处理中发挥着重要...
22.数据库管理+表的逻辑备份与恢复 63 23.数据字典和动态性能视图 67 24.oracle的卸载 69 25.尚学堂SQL简单讲解 70 Oracle常用函数 73 (1)trunc(for date) 73 (2)trunc(number) 73 (3)to_char 73 (4)to_date 74 (5)...
`RTRIM`, `TRIM`用于去除字符串两侧的空格或特定字符,`LPAD`和`RPAD`则在字符串两侧填充指定字符或空格,`LENGTH`获取字符串长度,`SUBSTR`用于截取子字符串,`INSTR`查找子串位置,`REPLACE`替换子串,`TRANSLATE`...
《Oracle Database 11g完全参考手册》全面详细地介绍了Oracle Database 11g的强大功能,阐述了如何使用所有的新增功能和工具,如何执行功能强大的SOL查询,如何编写PL/SQL和SQL*Plus语句,如何使用大对象和对象,...
《Oracle Database 11g完全参考手册》全面详细地介绍了Oracle Database 11g的强大功能,阐述了如何使用所有的新增功能和工具,如何执行功能强大的SOL查询,如何编写PL/SQL和SQL*Plus语句,如何使用大对象和对象,...
1. CONCAT: 这个函数用于连接两个或更多字符串,与Oracle中的“||”运算符功能相同。例如,`CONCAT('010-', '8801 8159')`会返回"010-8801 8159"。 2. LENGTH: 此函数返回字符串的字符长度。例如,`LENGTH('Oracle ...