繁体   English   中英

Oracle SQL正则表达式替换

[英]Oracle SQL regular expression replacement

我有一个雇员表,我有这样的栏目last_name first_namesalary ,等等。我想编写一个查询将取代

  • S或s到'K'
  • K或k到'A'
  • A或A到“ E”
  • E或e到'S'

雇员表中的每个last_name 基本上有两种方法可以做到

  1. 翻译:如果我使用这个,我会缺少小写或大写匹配,例如: translate(last_name,[skae],[kaes])

  2. regexp_replace:我尝试过,但是从第二次替换开始,它是用null替换字符。 regexp_replace(last_name,'[(s|S)(k|K)(a|A)(e|E)]',[KAES],1,0,'i']

使用translate()替换单个字符:

select translate(last_name, 'SsKkAaEs', 'KKAAEESS')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM