oracle中translate与replace的使用

2023-11-05

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针对的是单个字符。


本文来自:http://blog.csdn.net/wh62592855/archive/2009/11/16/4817476.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

oracle中translate与replace的使用 的相关文章

  • 从 unsigned char* 到 char* 的转换无效

    这是一个代码 1 int main int argc char argv 2 3 signed char S psc 4 unsigned char U pusc 5 char C pc 6 7 C S 8 C U 9 10 pc psc
  • ptrace和waitpid有什么关系?

    我正在练习使用ptrace但我不太了解它和之间的关系waitpid 这是我的测试程序 int main int argc char argv pid t pid 22092 if ptrace PTRACE ATTACH pid NULL
  • 使用 SQL Server 作为具有多个客户端的数据库队列

    给定一个充当队列的表 如何最好地配置表 查询 以便多个客户端同时处理队列 例如 下表指示了工作人员必须处理的命令 当worker完成后 它会将处理后的值设置为true ID COMMAND PROCESSED 1 true 2 false
  • C# 中输入按键

    我尝试了这段代码 private void textBox1 KeyPress object sender KeyPressEventArgs e if Convert ToInt32 e KeyChar 13 MessageBox Sho
  • 这种对有效类型规则的使用是否严格遵守?

    C99和C11中的有效类型规则规定 没有声明类型的存储可以用任何类型写入 并且存储非字符类型的值将相应地设置存储的有效类型 抛开 INT MAX 可能小于 123456789 的事实不谈 以下代码对有效类型规则的使用是否严格符合 inclu
  • WPF ComboBox 中具有本地化名称的枚举

    我有一个列出枚举的组合框 enum StatusEnum Open 1 Closed 2 InProgress 3
  • 如何按名字和姓氏排序,然后按 SamAccountName 排序,其中并非所有姓名都有名字和姓氏?

    目前 我有以下内容 来自 LDAP Get context based on currently logged on user PrincipalContext domainContext new PrincipalContext Cont
  • 使用 ClosedXML 附加到 excel 文件

    我需要将新数据附加到使用 ClosedXML 创建的现有 Excel 文件中 如何使用 ClosedXML 附加到 Excel 文件 如何获取最后一条记录的行号并将其附加到该行号上 或者还有其他内容 Thanks 打开现有工作簿 然后使用L
  • 指向 VLA 的指针

    你可能知道 VLA 的优点和缺点 https stackoverflow com a 3082302 1606345在 C11 中它们是可选的 我认为使 VLA 成为可选的主要原因是 堆栈可能会爆炸 int arr n where n 10
  • VS C# 中的依赖地狱,找不到依赖项

    我创建了一个图表 C 库 我们称之为chartlibrary 它本身依赖于多个第三方 dll 文件 在另一个可执行项目中 我们称之为chartuser 我参考了chartlibrary项目 两个项目位于 Visual Studio 中的同一
  • C++ 更改屏幕方向问题 -- DEVMODE dmDisplayOrientation DMDO_90 undefined

    我似乎无法编译一些 C 代码 我正在翻转显示器的方向 但 VS2008 告诉我 DMDO 90 和 DMDO 270 无法识别 error C2065 DMDO 90 undeclared identifier error C2065 DM
  • C# SignalR 异常 - 连接在收到调用结果之前开始重新连接

    我正在开发 2 个应用程序 第一个是 C 控制台应用程序 另一个是 Asp net Web 应用程序 我正在使用 SignalR 连接两者 这是我的 C 控制台应用程序 客户端 public class RoboHub public sta
  • C# 中的类和模块有什么用

    有人可以解释一下类和模块之间的区别吗 你什么时候使用其中一种而不是另一种 我正在使用 C 更新 我的意思是相当于 VB 模块的 C 版本 这在很大程度上取决于您所指的 模块 Visual Basic 的模块 C 中没有真正等效的 VB Ne
  • oracle日期序列?

    我有一个 oracle 数据库 我需要一个包含 2 年所有日期的表 例如来自01 01 2011 to 01 01 2013 首先我想到了一个序列 但显然唯一支持的类型是数字 所以现在我正在寻找一种有效的方法来做到这一点 欢呼骗局 如果您想
  • C# 从今天起 30 天

    我需要我的应用程序从今天起 30 天后过期 我会将当前日期存储在应用程序配置中 如何检查应用程序是否已过期 我不介意用户是否将时钟调回来并且应用程序可以正常工作 用户太愚蠢而不会这样做 if appmode Trial string dat
  • 在 boost 元组、zip_iterator 等上使用 std::get 和 std::tie

    我有哪些使用选择std get lt gt and std tie lt gt 与增强结构一起 例子 我想使用基于范围的 for 循环在多个容器上进行迭代 我可以实施zip函数 它使用boost zip iterator include
  • 为什么在 C++ 类中的数据成员上使用像 m_ 这样的前缀?

    许多 C 代码使用语法约定来标记数据成员 常见的例子包括 m memberName对于公共成员 在所有使用公共成员的情况下 memberName对于私人会员或所有会员 其他人尝试强制使用this gt member每当使用数据成员时 根据我
  • 在地图上使用 find

    如何使用 find 和 aconst iterator如果你有一个地图定义为 typedef std pair
  • 从最大到最小的3个整数

    我是 C 初学者 我使用 编程 使用 C 的原理与实践 第二版 问题如下 编写一个程序 提示用户输入三个整数值 然后以逗号分隔的数字顺序输出这些值 如果两个值相同 则应将它们排列在一起 include
  • C#“var”关键字在 VB.NET 中的等价物是什么?

    例如 我如何获得 VB NET静态类型局部变量是static赋值右侧的表达式的类型 像这样 Dim http msdn microsoft com en us library 7ee5a7s1 aspx我的变量 3 你还需要 选项推断 ht

随机推荐

  • 总结的快速排序

    很多时候对快速排序的具体格式记得都不太清楚 在网上搜了一下 加上自己的理解就摆到了这里 先声明一下 头文件至少要包括以下几个 最好都写上 写上不扣分 include
  • 2023年超实用的27个VSCode插件推荐

    Visual Studio Code 或者称作VS Code 是一个广为人知且评价很高的代码编辑器 它有许多特性和扩展功能 以增强开发体验 使用VS Code的主要好处之一是它的灵活性 允许开发人员根据自己的特定需求进行自定义 此外 VS
  • H2介绍 – Java嵌入式数据库

    H2是一个用Java开发的嵌入式数据库 这里指的嵌入式不是手持设备之类的 而是H2数据库作为一个类库 直接嵌入到上层的应用程序中 与应用运行在同一个进程中 最大的优势在于可以同应用程序打包在一起发布 对于客户端应用来说 非常方便 比如说腾讯
  • 计算机中CPU的运行到函数的调用过程

    以下内容是摘抄博客 https www cnblogs com liunlls p cpu html CPU的内部结构 我们都知道CPU是一台电脑的核心部件 所有的程序都是通过它运行的 那么CPU是如何让一个程序跑起来的呢 我们今天就来一起
  • 测多少数据量?几个G?多少reads?如何换算?

    关键词 lncRNA表达量低 所以要看lncRNA的表达量变化 就要比普通RNA seq多测一些 要兼顾SNP和低表达量的lncRNA 要测得更深一些 到底需要测多少数据量呢 我们看看权威的ENCODE对RNA seq的测序深度是如何评价的
  • vue自学笔记(1)

    环境配置 vue官网 编写一个helloworld程序 我使用的是vscode 你可以使用官方网站推荐的hbuilderx 项目结构 导入vue js html中的代码 h1 hello world h1 hr div message di
  • SQLi LABS Less-19

    第19关使用POST请求提交参数 后端对用户名和密码进行了特殊字符转译 难度较大源码如下 但后面插入HTTP Referer时 并没有对参数进行过滤 我们可以从Referer入手 首先 输入正确的账号和密码 只有账号和密码都正确 才能操作R
  • MySQL8数据库原理与应用(微课版)课后笔记-实训7

    最近学习笔记记录 仅供学习参考 在完成课后实训7前所需的建表语句如下 CREATE TABLE bmdmb bmh varchar 10 NOT NULL COMMENT 部门号 bmmc char 50 NOT NULL COMMENT
  • 理解ConvNeXt网络(结合代码)

    目录 1 简介 2 ConvNeXt的设计与实验 2 1 macro design 大的结构上的设计 2 1 1 Changing stage compute ratio 改变每个stage的堆叠次数 2 1 2 Changing stem
  • 简单制作后台系统页面(含菜单)

    第一步 制作数据库表 我个人喜欢在PowerDesigner先建好数据库模型 然后导入到mysql里 导入方式 在PowerDesigner导航栏点开Datebase选择Datebase Generation再选择最后的preview 然后
  • Day.js 常用用法

    我认为克服恐惧最好的办法理应是 面对内心所恐惧的事情 勇往直前地去做 直到成功为止 罗斯福 Day js 时间戳转换 const nowTime dayjs format console log 获取当前时间 nowTime const n
  • GPT4来了!微软云能否反超亚马逊夺冠,就靠它了

    文 光锥智能 作者 刘雨琦 Azure 微软云 能否反超AWS 亚马逊云 夺冠 就靠ChatGPT了 今天凌晨 GPT4横空出世 支持图像输入和混合输入 多模态大模型的出现 将对算力产生更高的需求 一场由ChatGPT引发的算力革命 即将给
  • TCP的三次握手(一个好男人追女孩的故事)一看必懂系列

    网络世界如情场 女生指代服务端 在网络协议内 和TCP是纯情男的作风 UDP作风则称为 渣男 理由非常的简单 由于UDP的行为就是从来不会和任何女人产生感情 不建立连接 因此追女生的效率 具有高效率的特性 就比TCP作风高的多 从来不付出
  • 通过U盘向服务器拷贝文件

    目录 完整操作流程 检查U盘是否被识别 gt 挂载U盘 gt 拷贝文件 gt 卸载U盘 检查U盘是否被识别 挂载U盘 拷贝文件 卸载U盘 完整操作流程 检查U盘是否被识别 gt 挂载U盘 gt 拷贝文件 gt 卸载U盘 检查U盘是否被识别
  • 数据结构算法设计——深搜DFS(走迷宫)

    一 什么是深搜 深搜就是 深度搜索 也就是 深度优先的搜索 那什么是 深度优先 呢 我们拿最常见的迷宫问题举例 深度优先就是你照着一条路死命的走 有个形象的说法叫 不撞南墙不回头 一直到这条路走不通了 再返回上一步选择其他的方向 在算法中我
  • Java8 Streams用法总结大全 之 Collector用法详解

    1 前言 在 Java8 Streams用法总结大全 之 Stream中的常见操作 中 我们已经学习了Stream中的常用操作 其中也提到了collect 的用法 当时只是通过入参Collectors toList 实现了把Stream转为
  • [SQL]postgreSQL中如何查找无主键的sql语句

    查找postgreSQL数据库中 查找无主键的表 可以通下面语句查找 select from pg tables where hasindexes is false and schemaname public
  • 新编法学概论--吴祖谋

    新编法学概论 吴祖谋 2007 pdf 介绍法学概论的书籍 但是写的太官僚了 什么阶级论 之类的开头 让我读着那样的不理解 能不能有本写的比较通俗易懂的法学概论 这样的书籍 真心的不喜欢看 但是没办法 还是看一看吧 1 宪法 三次完全的更新
  • 什么是代码区、常量区、静态区(全局区)、堆区、栈区?

    前言 和作者有同样的感觉 对代码区 常量区 静态区 全局区 堆区 栈区没有较深刻的认识 通过查找网络找到本篇比较优秀的文章 特此转发 摘自CSDN https blog csdn net u014470361 article details
  • oracle中translate与replace的使用

    1 translate 语法 TRANSLATE char from to 用法 返回将出现在from中的每个字符替换为to中的相应字符以后的字符串 若from比to字符串长 那么在from中比to中多出的字符将会被删除 三个参数中有一个是