`
董宗磊
  • 浏览: 65489 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle中translate与replace的使用

阅读更多

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 `replace` 和 `translate` 函数详解 在Oracle数据库中,处理字符串是非常常见的需求之一。为了更好地管理和操作数据,Oracle提供了多种内置函数来帮助我们实现这一目标。其中两个常用的函数是 `replace`...

    Oracle 函数replace和translate的比较

    在 Oracle 数据库中,`REPLACE` 和 `TRANSLATE` 都是字符串处理函数,但它们在功能和使用上存在显著的区别。首先,我们来详细了解这两个函数。 **REPLACE 函数** `REPLACE` 函数的主要作用是将源字符串(char)中...

    Oracle中的translate函数和replace函数的用法详解

    在Oracle数据库中,`translate`和`replace`是两个用于字符串处理的重要函数,它们在文本操作和数据清洗中发挥着关键作用。 `translate`函数的语法是:`translate(expr, from_string, to_string)`。这个函数接收三个...

    ORACLE中CLOB字段转String类型

    ### ORACLE中CLOB字段转String类型 在Oracle数据库中,`CLOB`(Character Large Object)是一种用于存储大量文本数据的数据类型。由于其能够存储非常大的文本块(最大可达4GB),因此常被用于存储文章、报告或任何...

    sqlserver-oracle 数据类型对照

    - `CURRVAL`和`NEXTVAL`在Oracle中处理序列,SQL Server中使用`IDENT_CURRENT`和`IDENTITY`属性。 - `NULLIF`在Oracle和SQL Server中用于比较并返回NULL。 - `UID`、`SUSER_ID`、`USER_ID`、`USER`、`CURRENT_...

    ORACLE与SQLSERVER函数异同比较

    - **日期间隔**: Oracle中使用`MONTHS_BETWEEN`函数计算两个日期之间的间隔,在SQL Server中使用`DATEDIFF`函数。 - **当前日期时间**: Oracle中的`SYSDATE`函数与SQL Server中的`GETDATE()`函数相对应。 - **月份...

    oracle 如何判断一个字符串能否转换为数字?

    可以使用`TRANSLATE`函数将所有可能的数字字符(包括小数点、正负号和科学计数法中的“E”或“e”)替换为固定的字符,然后比较替换后字符串的大小,以此来判断原字符串是否可以转换为数字。 **步骤**: 1. **定义...

    oracle将字符串转为number

    通过本文的学习,我们了解到在Oracle中将字符串转换为Number类型的几种方法,包括使用`TRIM`、`TRANSLATE`、`REGEXP_REPLACE`以及`TO_NUMBER`函数。每种方法都有其适用场景,选择合适的方法能够有效地解决不同类型的...

    oracle替换

    总结起来,"Oracle替换"主要关注如何在Oracle数据库中对字符串进行查找和替换操作,包括标准的`REPLACE`函数,以及更复杂的`REGEXP_REPLACE`和`TRANSLATE`函数。同时,通过自定义的PL/SQL函数,开发者可以进一步定制...

    mysql转换到oracle数据库

    - 在Oracle中,对于字符串中出现的单引号,需要进行转义处理,例如使用`Translate`函数替换所有的`\'`为`''`。 通过以上详细步骤和技术要点,我们可以有效地将MySQL数据库中的数据及其相关的应用程序迁移至Oracle...

    oracle函数大全,oracle函数大全,

    除此之外,Oracle还有其他很多功能强大的函数,如TRIM(同时去除字符串两侧的指定字符)、TRANSLATE(替换字符串中的一组字符为另一组字符)、REVERSE(反转字符串)等。这些函数在SQL查询和数据处理中发挥着重要...

    oracle使用管理笔记(一些经验的总结)

    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)...

    oracle常用函数功能演示

    `RTRIM`, `TRIM`用于去除字符串两侧的空格或特定字符,`LPAD`和`RPAD`则在字符串两侧填充指定字符或空格,`LENGTH`获取字符串长度,`SUBSTR`用于截取子字符串,`INSTR`查找子串位置,`REPLACE`替换子串,`TRANSLATE`...

    Oracle_Database_11g完全参考手册.part3/3

    《Oracle Database 11g完全参考手册》全面详细地介绍了Oracle Database 11g的强大功能,阐述了如何使用所有的新增功能和工具,如何执行功能强大的SOL查询,如何编写PL/SQL和SQL*Plus语句,如何使用大对象和对象,...

    Oracle_Database_11g完全参考手册.part2/3

    《Oracle Database 11g完全参考手册》全面详细地介绍了Oracle Database 11g的强大功能,阐述了如何使用所有的新增功能和工具,如何执行功能强大的SOL查询,如何编写PL/SQL和SQL*Plus语句,如何使用大对象和对象,...

    oracle常用函数

    1. CONCAT: 这个函数用于连接两个或更多字符串,与Oracle中的“||”运算符功能相同。例如,`CONCAT('010-', '8801 8159')`会返回"010-8801 8159"。 2. LENGTH: 此函数返回字符串的字符长度。例如,`LENGTH('Oracle ...

Global site tag (gtag.js) - Google Analytics