阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Oracle对字符串去空格处理(trim)

389次阅读
没有评论

共计 2602 个字符,预计需要花费 7 分钟才能阅读完成。

首先便是这 Trim 函数。Trim 函数具有删除任意指定字符的功能,而去除字符串首尾空格则是 trim 函数被使用频率最高的一种。语法 Trim (string),参数 string:string 类型,指定要删除首部和尾部空格的字符串返回值 String。函数执行成功时返回删除了 string 字符串首部和尾部空格的字符串,发生错误时返回空字符串(””)。如果参数值为 null 时,会抛出空指针异常。在 Oracle 中,trim 使用的形式多为人 rtrim() 与 ltrim() 两种,分别为去除字符串右边空格与去除字符串左边空格。

当然 trim 的功能不止如此,下面进行细致的介绍,这里我多以去除字符串空格为例。

我们看下 trim 函数的语法描述:trim([ {  {leading|trailing|both}  [trim_character]|trim_character}  from] trim_source

1)、不使用任何参数

SQL> select trim(‘  11  ‘) aa from dual;

AA

11

这是最常见的一种使用方法,都使用默认的参数,默认情况下 TRIM 会同时删除字符串前后出现的空格。

2)、使用 both 参数,效果等同于方法一不使用任何参数

SQL> select trim(both from ‘  11  ‘) aa from dual;

AA

11

“BOTH”参数表示同时去除字符串前后所指定的内容(默认情况下删除空格)。

3)、使用 leading 与 trailing 参数

SQL> select trim(leading from ‘  11  ‘) aa from dual;

AA
—-
11

SQL> select trim(trailing from ‘  11  ‘) aa from dual;

AA
—–
  11
从结果中得分隔符 ’-‘,可以发现使用 leading 参数可以去除字符串右端的空格,而 trailing 参数则可以去除字符串左端的空格。正如 oracle 提供的 rtrim() 与 ltrim()。

4)、使用 trim_character 参数

trim_character 参数改变了“删除空格”的默认行为。如果想要删除字符串 ’xxxxWORLDxxxx’ 前后出现的“x”,“trim_character”参数就派上用场了。

SQL> select trim(‘x’ from ‘xxxxWORLDxxxx’) aaaaa from dual;

AAAAA
—–
WORLD

trim_character 配合“both”、“trailing”和“leading”三个参数使用效果如下,与之前演示类似。看结果,不赘述。

SQL> select trim(‘x’ from ‘xxxxWORLDxxxx’) aaaaa from dual;

AAAAA
—–
WORLD

SQL> select trim(both ‘x’ from ‘xxxxWORLDxxxx’) aaaaa from dual;

AAAAA
—–
WORLD

SQL> select trim(trailing ‘x’ from ‘xxxxWORLDxxxx’) aaaaa from dual;

AAAAA
———
xxxxWORLD

SQL> select trim(leading ‘x’ from ‘xxxxWORLDxxxx’) aaaaa from dual;

AAAAA
———
WORLDxxxx

      必须注意的一点是这里的“trim_character”参数只允许包含一个字符,不支持多字符。trim 不能满足我们去除多字符要求,但是我们可以使用 rtrim 和 ltrim 来处理。
1)使用 rtrim

SQL> select rtrim(‘ORxxxxWORLDxxxxOR’,’OR’) aaaaa from dual;

AAAAA
—————
ORxxxxWORLDxxxx
2)使用 ltrim

SQL> select ltrim(‘ORxxxxWORLDxxxxOR’,’OR’) aaaaa from dual;

AAAAA
—————
xxxxWORLDxxxxOR
3)联合使用 RTRIM 和 LTRIM 函数达到我们的目的
SQL> select rtrim(ltrim(‘ORxxxxWORLDxxxxOR’,’OR’),’OR’) aaaaa from dual;

AAAAA
————-
xxxxWORLDxxxx

使用 rtrim 和 ltrim 函数时的注意事项:“OR”不表示整个“OR”字符串进行匹配,而是发现任意的字符“O”或字符“R”均做删除操作。

      对于 trim 函数的应用就介绍到,下面介绍一下 replace 函数,个人觉得 replace 函数在去空格时更好用。replace 函数用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。来看下 replace 函数的语法描述:replace(‘string_replace1′,’string_replace2′,’string_replace3’) 

‘string_replace1’ 待搜索的字符串表达式,string_replace1 可以是字符数据或二进制数据。

‘string_replace2’ 待查找的字符串表达式,string_replace2 可以是字符数据或二进制数据。

‘string_replace3’ 替换用的字符串表达式,string_replace3 可以是字符数据或二进制数据。

返回类型,如果 string_replace(1、2 或 3)是支持的字符数据类型之一,则返回字符数据;如果 string_replace(1、2 或 3)是支持的 binary 数据类型之一,则返回二进制数据。

      这里我们依然以去空格为例。

SQL> select replace(‘  aa  kk  ‘,’ ‘,”) abcd from dual;

ABCD
—-
aakk

      与使用 trim 函数的结果进行对比,我们可以发现,使用 replace 函数不仅可以去除字符串两端的空格,也可去除字符串内部的空格。

      当然,如果只是要去除字符串两端的空格,使用 trim 函数效率会更高

更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-02/140615.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计2602字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7798521
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024 程序员】我劝你赶紧去免费领一个 AWS、华为云等的主机 每年 10 月 24 日,程序员们都会迎来...
2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025 年 11 月 28 日 -Cloudflare 史诗级事故: 一次配置失误,引爆全球宕机 前言 继今...
在Windows系统中通过VMware安装苹果macOS15

在Windows系统中通过VMware安装苹果macOS15

在 Windows 系统中通过 VMware 安装苹果 macOS15 许多开发者和爱好者希望在 Window...
免费领取huggingface的2核16G云服务器,超简单教程

免费领取huggingface的2核16G云服务器,超简单教程

免费领取 huggingface 的 2 核 16G 云服务器,超简单教程 前言 HuggingFace.co...
使用1Panel面板搭建属于你的AI项目环境

使用1Panel面板搭建属于你的AI项目环境

使用 1Panel 面板搭建属于你的 AI 项目环境 在 AI 项目越来越火的今天,很多朋友都想自己动手搭建一...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...