Oracle SQL 批量修改资料库邮箱后缀名称

问题:批量将资料库中的人员邮箱后缀更换

create table HR_PERSONNEL_BASE_EMAIL113 AS        --备份表
SELECT EMAIL
FROM HR_PERSONNEL_BASE
WHERE EMAIL LIKE '%@areschina.com'		--替换为原后缀
 
UPDATE HR_PERSONNEL_BASE
SET EMAIL=substr(email,1,instr(email,'@'))||'atxsemicon.com'--新后缀
WHERE EMAIL LIKE '%@areschina.com'		--替换为原后缀

注:使用函数

  • substr 字符串截取函数(在某一字符串(列值)中截取其中一段的字符串)
    • 格式:substr(char,position [,substring_length])
      • char 原始字符串
      • position 要截取的字符串的开始位置。默认为1,如果该值为负数,则表示从char的右边算起
      • substring_length 截取的长度

  • instr 字符串搜索函数(在某一字符串(列值)中搜索某值在第几位)
    • 格式:instr(string,substring[,position[,occurrence]])
      • string 待搜索的字符串
      • substring 要搜索的字符串(一般为子串)
      • position 搜索开始的位置,默认为1,表示从字符串左边第一个位置开始搜索;如果为负数,则表示以字符串的右边位置为起始位置。
      • occurrence 表示substring第几次出现,默认是1

猜你喜欢

转载自blog.csdn.net/weixin_43833430/article/details/122476558