oracle 在某一字段特定位置插入字符
在字段头部或者尾部插入
在头部或尾部插入比较简单,这里主要介绍两种方法,可以采用字符串连接符 “||”和concat()函数。需要注意的是字符串连接符 “||”可以连接多个字符串,concat()函数只能连接两个。
-- 以头部举例:更新在s_user表中的user_name字段,并在user_name的头部插入字符“aaa”
1、update s_user set user_name = 'aaa'|| user_name
2、update s_user set user_name = concat('aaa',user_name)
在字段头部和尾部同时插入
由于字符串连接符 “||”可以连接多个字符串,concat()函数只能连接两个,所以只能用字符串连接符 “||”。
-- 举例:更新在s_user表中的user_name字段,并在user_name的头部和尾部插入字符“aaa”
update s_user set user_name = 'aaa'|| user_name ||'aaa'
在字段某一位置插入
插入字符的能够批量的前提是要插入字符的位置能够在从前往后或者从后往前固定。
举例:在表s_user中的user_name中插入字符“省”或市,组成xx省省实验小学/xx市市实验小学,user_name有如下特点:
user_name |
---|
河南省实验小学 |
上海市实验小学 |
山东省实验小学 |
黑龙江市实验小学 |
--注意以下四个函数,就可以用concat来连接啦
--lengthb(string)计算string所占的字节长度:返回字符串的长度,单位是字节
--length(string)计算string所占的字符长度:返回字符串的长度,单位是字符
--substrb()是取得字符串的字节数
--substr()是取得字符串的字符数
UPDATE s_user SET USER_NAME=CONCAT(substr(USER_NAME,1,LENGTH(USER_NAME)-4),'省实验小学') WHERE USER_NAME LIKE '省实验小学'
UPDATE s_user SET USER_NAME=CONCAT(substrb(USER_NAME,1,LENGTH(USER_NAME)-4),'市实验小学') WHERE USER_NAME LIKE '市实验小学'