Oracle---replace的基本用法
参考文档:https://blog.csdn.net/bingguang1993/article/details/80592579/
基本语法#
格式:
REPLACE ( string_expression , string_pattern , string_replacement )
参数说明:
- string_expression 要搜索的字符串表达式。string_expression 可以是字符或二进制数据类型。
- string_pattern 是要查找的子字符串。string_pattern 可以是字符或二进制数据类型,但不能是空字符串 ('')。
- string_replacement 替换字符串。string_replacement 可以是字符或二进制数据类型。
简单来说:使用REPLACE(String,from_str,to_str) 可以将String中所有出现的from_str替换为to_str。
验证测试#
创建表,并插入测试数据
create table test4(
address varchar2(20)
);
insert into test4 values ('黄花路X号X房'),(''),('广州塔X号'),(null),('上XXX海1hao');
查询替换#
select replace(address,'X','Y') from test4
上面会将address
列中所有的X 替换成Y,同时也会把空字符串替换成NULL
如果需要将NULL
值替换成其他的话,如果是oracle数据库的话,可以使用NVL
函数。只有在null值才会被替换,而空字符串不会
select nvl(address,'meiyou') from test4
当省略了replace的第三个参数,则会将匹配到所有的字符串替换成空字符串、并且如果原本数据是空字符串的话会转成NULL
select replace(address,'X') from test4
如果想要将空字符串替换成其他字符串的话,我们可以利用replace和nvl函数。
select nvl(replace(address,''),'无') from test4
更新替换#
update test4 set address= replace(address,'X','Y')
上面会把address中匹配到所有的X替换成Y、空字符串替换成NULL
总结#
- replace可以替换所有匹配到的字符串,但是无法替换像
NULL
、空字符串的问题 - 空字符串替换成其他字符串的话,可以利用replace函数将空字符串转换为
NULL
,然后利用nvl
进行null值的判断,然后如果为null值则转成其他的数据
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)