select REGEXP_REPLACE( 'ABC5DD6D ', '5|6', 'x') x from dual;
SELECT COUNT(*) FROM dual WHERE REGEXP_LIKE('abcdef','a|x')
Oracle提供了一个字符替换函数translate,不同于replace函数的是,translate函数是字符级别的替换,而不是字符串的
替换。
其语法如下:
TRANSLATE ( expr ,
from_string , to_string )
简单的说就是对expr内容,用to_string中的字符逐一替换from_string 中的字符,举例说明如下:
SQL> select
translate('123456789','456','abc') from dual;
TRANSLATE
---------
123abc789
SQL> select
translate('123456789','456','ab') from dual;
TRANSLAT
--------
123ab789
SQL> select
translate('123456789','4564','a') from dual;
TRANSLAT
-------
123a789
SQL> select
translate('123456789','4564','abcd') from dual;
TRANSLATE
---------
123abc789
可以看到translate函数是以字符为单位逐一替换的,从第二、三个例子可以看出,如果第三个参数to_string的长度小于第二个参数
from_string,那么from_string的后边超出的部分都被替换为空值。从第三、四个例子可见,如果某一个字符多次出现,则以第一次替换的
内容为准。
以此可以实现的一个有用的功能是统计一个字符串中某个字符出现的次数:
select
length(translate('expl','x'||'expl','x')) from dual
官方文档10g Release 2 (10.2) B14200-02 提供了一个例子如下:
Examples
The following statement translates a book title into a string that
could be used (for example) as a filename. The from_string contains four
characters: a space, asterisk, slash, and apostrophe (with an extra
apostrophe as the escape character). The to_string contains only three
underscores. This leaves the fourth character in the from_string without
a corresponding replacement, so apostrophes are dropped from the
returned value.
SELECT
TRANSLATE('SQL*Plus User''s Guide', ' */''', '___') FROM DUAL;
--------------------
SQL_Plus_Users_Guide
分享到:
相关推荐
oracle 字符串 替换 regexp_replace
Oracle 数据库 查找替换工具 (*目前只支持Oracle) 在整个数据库中查找某个字符串。 支持字符串、CLOB、BLOB字段类型。 支持字符串替换功能。 可定义查找的表、字段、字段类型。 可同时查询多个字符串。
CSDN上的一个网友,需要一个sql语句的解决方案需求是这样的求写oracle多个字符替换(有测试数据)
* 自定义聚合函数 wmsys.wm_concat 替换办法 * 超大字符串拼接,单个字符串4000、分隔符100... * Oracle11g Release2版本引入了LISTAGG 函数,使得聚集连接字符串变得很容易。并且允许使用我们指定连接串中的字段顺序
可以在整个数据库中查找某个字符串。 支持 CHAR,VARCHAR NVARCHAR,CLOB,BLOB字段类型。 可批量查找,批量替换。 http://db.okof.net/dbr/
代码如下:public static string Replace(string source, string match, string replacement) { char[] sArr = source.ToCharArray(); char[] mArr = match.ToCharArray(); char[] rArr = replacement....
PHP的substr_replace将指定两位置之间的字符替换为*号的代码,需要的朋友可以参考下。
问题描述: 某小区,需要按照小区、楼栋、单元号、房间号进行排序,但是按照地址描述排序时,因为字符串中包含数字,所以造成了如下的结果, ...返回将(所有出现的)from_str中的每个字符替换为to_str中的
替换oracle解压之后的database文件中的filegroup2文件 路径 :database/stage/Components/oracle.jdk/1.6.0.75.0/1/DataFiles
12C在Linux上中文安装是乱码,将此包下载拷贝到安装文件\database\stage\Components\oracle.jdk\1.6.0.75.0\1\DataFile目录下,替换以前文件即可。
oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...
本文主要结合之前一次oracle迁移达梦的项目,将碰到的问题以及一系列踩过的坑列举出来供大家参考,数据库版本是达梦7。(本文中涉及到的部分对象名已用sch1,tab1等方式替换) 1、整体情况 迁移过程中失败任务数低于5%...
- - 去除数据文件中字符串的换行符; - - 使用此工具,必须有明确的行分隔符标记,且换行符标记不可在字符串中出现。否则无法使用,需要修改匹配搜索方式 ### 工具效率: 亲测200M文件5s中完成转换。 ### 使用...
SQL Serve提供了简单的字符模糊匹配功能,比如:like, ...同一个字符,将其替换为空串,即可计算 declare @text varchar(1000) declare @str varchar(10) set @text = 'ABCBDBE' set @str = 'B' select len(@tex
REPLACE 原来的字符串 要被替换掉的字符串 要替换成的字符串 SOUNDEX 函数返回一个四位字符码 SOUNDEX 函数可用来查找声音相似的字符串但SOUNDEX 函数对数字">对字符串操作的函数 答:ASCII 函数返回字符表达式最...
string 希望被替换的字符或变量 s1 被替换的字符串 s2 要替换的字符串 SQL> select replace('he love you','he','i') from dual; REPLACE('HELOVEYOU','HE','I') ------------------------------ i love you...
处理方法:判断一下val1,val2中是否含有单引号,若含单引号,则将单引号’替换成两个单引号”。 将字段与字段值组织到一个HashTable中,再抽象出一个组织sql语句的函数getSqlByHashTable(): HashTable ht =new ...
如有如下字段,需将其中除字母、数字、汉字外的其他所有字符替换为空 ‘asdfsad ,,;)()!@123234#$%^&*(我w 是e ? 中国人。./\[]::‘’“”一人’ 最终得到值:asdfsad123234我是中国人一人 select FN_REG_...
§1.5.5 Change(替换字符串)命令 34 §1.5.6 Append(追加字符串)命令 34 §1.5.7 Save保存当前缓冲区命令到文件 35 §1.5.8 GET将命令文件读到缓冲区 35 §1.5.9 SPOOL将信息记录到文件中 36 §1.5.10 再运行当前...