- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章oracle中的trim函数使用介绍由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
Oracle TRIM函数是很常见的函数,下面对Oracle TRIM函数的语法作了详尽的阐述说明,希望可以让您对Oracle TRIM函数有更深的认识.
如果提到Oracle TRIM函数,最简单的功能就是使用它来去除字符串的行首和行尾的空格,这个功能也是大家使用频率最高的一种。 然而Oracle TRIM函数其实是具有删除“任意指定”字符的功能,不可谓不牛。我们来一次体验之旅.
1.先看一下Oracle TRIM函数的完整语法描述 。
TRIM([ { { LEADING | TRAILING | BOTH } [ trim_character ] | trim_character } FROM ] trim_source ) 。
以上语法引自于Oracle 10gR2官方文档:http://download.oracle.com/docs/ ... 0/img_text/trim.htm 单从这个语法定义上我们就可以看出,小小的Oracle TRIM函数蕴含了更多可定制的功能。一一展示,供参考.
2.最简单的用法开始 不使用任何参数: gloria@www.dweye.net> select trim (' DWEYE ') "TRIM e.g." from dual,
TRIM e.g -------- DWEYE 。
这也是最常见的一种使用方法,都使用默认的参数,默认情况下TRIM会同时删除字符串前后出现的空格.
3.其实第一种常用的方法等同于下面带有“BOTH”参数的写法 gloria@www.dweye.net> select trim (both from ' DWEYE ') "TRIM e.g." from dual,
TRIM e.g -------- DWEYE 。
“BOTH”参数表示同时去除字符串前后所指定的内容(默认情况下删除空格).
4.既然试用了BOTH参数,我们再看一下“TRAILING”和“LEADING”参数效果 gloria@www.dweye.net> select trim (trailing from ' DWEYE ') "TRIM e.g." from dual,
TRIM e.g. ------------ DWEYE 。
gloria@www.dweye.net> select trim (leading from ' DWEYE ') "TRIM e.g." from dual,
TRIM e.g. ------------ DWEYE 。
可见,使用“TRAILING”参数可以完成字符串尾部空格的删除功能;而“LEADING”参数正好相反,完成字符串头部空格的删除功能。 也就是说,使用“TRAILING”和“LEADING”参数可以指定空格的删除位置.
5.“trim_character”参数粉墨登场 这个参数改变了“删除空格”的默认行为。 如果想要删除字符串'xxxxDWEYExxxx'前后出现的“x”,“trim_character”参数就派上用场了。 gloria@www.dweye.net> select trim ('x' from 'xxxxDWEYExxxx') "TRIM e.g." from dual,
TRIM e.g -------- DWEYE 。
配合“BOTH”、“TRAILING”和“LEADING”三个参数使用效果如下,与之前演示类似。看结果,不赘述。 gloria@www.dweye.net> select trim (both 'x' from 'xxxxDWEYExxxx') "TRIM e.g." from dual,
TRIM e.g -------- DWEYE 。
gloria@www.dweye.net> select trim (trailing 'x' from 'xxxxDWEYExxxx') "TRIM e.g." from dual,
TRIM e.g. ------------ xxxxDWEYE 。
gloria@www.dweye.net> select trim (leading 'x' from 'xxxxDWEYExxxx') "TRIM e.g." from dual,
TRIM e.g. ------------ DWEYExxxx 。
6.需要注意的地方 这里的“trim_character”参数只允许包含一个字符,不支持多字符。 报错信息如下: gloria@www.dweye.net> select trim (leading 'xy' from 'xyxxDWEYExyyx') "TRIM e.g." from dual; select trim (leading 'xy' from 'xyxxDWEYExyyx') "TRIM e.g." from dual * ERROR at line 1: ORA-30001: trim set should have only one character 。
既然TRIM不能满足我们删除只剩“DWEYE”字符串的要求,有么有其他手段呢?of course有。我们使用RTRIM和LTRIM“连环拳”完成这个任务。 1)使用RTRIM gloria@www.dweye.net> select rtrim('xyxxDWEYExyyx','xy') "e.g." from dual,
e.g. ------------ xyxxDWEYE 。
2)使用LTRIM gloria@www.dweye.net> select ltrim('xyxxDWEYExyyx','xy') "e.g." from dual,
e.g. ------------ DWEYExyyx 。
3)联合使用RTRIM和LTRIM函数达到我们的目的 gloria@www.dweye.net> select ltrim(rtrim('xyxxDWEYExyyx','xy'),'xy') "e.g." from dual,
e.g. -------- DWEYE 。
使用RTRIM和LTRIM函数时的注意事项:“xy”不表示整个“xy”字符串进行匹配,而是发现任意的字符“x”或字符“y”均做删除操作.
7.小结 。
在感受Oracle函数带来便利的同时,建议对每一个常用函数都追本溯源地探究一下,也许在尝试之后您会发现:哦,原来大家经常用到这些方法只是其真实功能的沧海一粟.
以下是其它网友的补充:
如 trim('字符1' from '字符串2') ,字符1只能是单个字符.
1. trim()删除字符串两边的空格。 2. ltrim()删除字符串左边的空格。 3. rtrim()删除字符串右边的空格。 4. trim('字符1' from '字符串2') 分别从字符2串的两边开始,删除指定的字符1。 5. trim([leading | trailing | both] trim_char from string) 从字符串String中删除指定的字符trim_char。 leading:从字符串的头开始删除。 trailing:从字符串的尾部开始删除。 borth:从字符串的两边删除。 6. tim()只能删除半角空格.
For example: trim(' tech ') would return 'tech'; trim(' ' from ' tech ') would return 'tech'; trim(leading '0' from '000123') would return '123'; trim(trailing '1' from 'Tech1') would return 'Tech'; trim(both '1' from '123Tech111') would return '23Tech'; 。
oracle中的trim函数 Oracle中的trim函数是用来删除给定字符串或者给定数字中的头部或者尾部的给定字符。 trim函数具有如下的形式 trim([leading/trailing/both][匹配字符串或数值][from][需要被处理的字符串或数值]) 这里如果指明了leading表示从删除头部匹配的字符串,如果指明了trailing表示从删除尾部匹配的字符串,如果指明了both,或者不指明任何位置,则两端都将被删除 如果不指明任何匹配字符串或数值则认为是空格,即删除前面或者后面的空格。 trim函数返回的类型是varchar2 下面是一些例子: 截去了数字7500的后面的两个0 SQL> select trim(0 from 7500) from dual; TRIM —- 75 下面的例子截去了' 中秋八月中'前后的两个'中'字 SQL> select trim('中‘ from ‘中秋八月中‘) as 诗 from dual; 诗 —————— 秋八月 下面的例子截去了' 半夜二更半'前面的一个'半'字 SQL> select trim(leading ‘半‘ from ‘半夜二更半‘) as 诗 from dual; 诗 ———————— 夜二更半 。
最后此篇关于oracle中的trim函数使用介绍的文章就讲到这里了,如果你想了解更多关于oracle中的trim函数使用介绍的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
Oracle 即时客户端和 Oracle 客户端有什么区别?你能给我解释一下吗?谢谢 最佳答案 Oracle 客户端带有安装程序和许多可执行文件,例如 sqlplus,tnsping,它是完整而庞大的
我正在寻找一个Delphi组件来直接连接到ORACLE数据库服务器,而无需安装oracle客户端。 我知道Oracle Data Access (ODAC)来自DevArt 。还有其他组件具有此功能吗
如何编写 Oracle 存储过程,以表 (X) 作为输入参数,并在过程内部使用表 X 来与另一个表 Y 联接? 表 X 将包含数千条记录。 不希望将表名作为 varchar 传递,然后使用动态 SQL
如何编写 Oracle 存储过程,以表 (X) 作为输入参数,并在过程内部使用表 X 来与另一个表 Y 联接? 表 X 将包含数千条记录。 不希望将表名作为 varchar 传递,然后使用动态 SQL
我要过滤COMMENTS属性为空的记录 我试过了 SELECT TABLE_NAME, COMMENTS FROM (SELECT TABLE_NAME, COMMENTS FROM (sel
我要下载 Oracle Instant Client for Linux x86-64 (64-bit)现在有一段时间了。 现在我注意到该网站在过去几个月中一直遇到技术问题。 要从 Oracle 下载
有什么方法可以将我的 Delphi 应用程序 (FireDac) 直接连接到 Oracle 数据库? 目前可以连接,但需要安装Oracle Client 在 embarcadero 站点 ( http
我有一张表,其中日期列的数据格式如下:“7/25/2014 12:14:27 AM”。我需要通过放入 where 子句来获取此日期。有人可以建议我该怎么做吗? 最佳答案 日期(存储在表中)是 repr
如果两个事务试图同时修改同一行会发生什么?通常,一旦行被修改,另一个事务等待直到第一个事务执行提交或回滚。但是,如果他们恰好在同一时刻发送更新请求怎么办? 最佳答案 答案是否定的。两个事务不能同时修改
我想知道为什么我不能在 Oracle 模式中有两个同名的索引?它抛出一个错误,指出该名称已被使用。我的印象是,由于索引在一个特定的表上,这应该不会导致任何错误,除非我们对同一个表上的两个不同列使用相同
我需要构建一个查询来按成员和到期日期检索信息组,但我需要为每个成员提供一个序列号.. 例如: 如果成员“A”有 3 条记录要过期,“B”只有 1 条,“C”有 2 条,我需要这样的结果: Number
独立程序 create procedure proc1 ( begin end; ) 存储过程 create package pkg1 ( procedure proc2 begin end; ) 最
在 Oracle 9i 中声明 FK 时遇到问题。我在这里查看了许多关于 SO 和一些在线文档(例如 http://www.techonthenet.com/oracle/foreign_keys/f
我和我的同事维护的应用程序在后端有一个 Oracle 数据库。我们正在考虑偶尔以“受限”模式运行应用程序,其中一个数据库表空间设置为只读。我们可以轻松地将必要的表和索引移动到单独的表空间,这些表空间将
我想实现一个自定义的回归聚合函数,类似于现有的 REGR_SLOPE . 我要定义的函数需要获取两列作为参数,例如 select T.EMPLOYEE_ID, CUSTOM_REGR_SL
我已经尝试解决这个问题一段时间了,我认为是时候寻求帮助了。我正在构建一个架构配置脚本,我想添加一些脚本输出和错误处理。这个想法是脚本输出窗口只会向我显示关键消息而没有所有噪音。 Create Temp
在旧的 Oracle 服务器(我被告知是 8i)上使用 JDBC 时,我遇到了一个非常令人困惑和奇怪的问题。我在那里准备了一个表,其中包含大约 10 列、数字、varchars、一个 raw(255)
我有一张 table Customer_Chronics在 Oracle 11g 中。 该表具有三个关键列,如下所示: 分支代码 客户 ID 期 我已按 branch_code 列表按表分区,现在我进
是否有存储用户自定义异常的oracle表? 最佳答案 没有。 与其他变量一样,用户定义的异常在 PL/SQL block 中定义,并且具有 PL/SQL 变量将具有的任何范围。所以,例如 DECLAR
在 oracle 中使用序列并使用 Before insert trigger 自动递增列或使用标识列是否更好,因为它在 Oracle 12 c 中可用? 最佳答案 无论哪种方式,您都将使用序列。 1
我是一名优秀的程序员,十分优秀!