SQL中 怎么替换数值的前两个字符。例如将A列中WCWC19880210改为HSWC19980210
(student_archives_code,substring(student_archives_code,1,2),'hs')这样结果发现两个WC都变为了HS...
(student_archives_code,substring(student_archives_code,1,2),'hs') 这样 结果发现两个WC都变为了HS
展开
5个回答
展开全部
STUFF() 函数
将一字符串中的某一部分用另一个字符串替换掉。
语法
STUFF( 原字符串 , 开始替换的位置 , 被替换的字符数 , 用于替换的字符串 )
返值类型
字符型
参数描述
原字符串 :其中的某一部分将被替换。(解释似乎比被解释的更难懂)
开始替换的位置 :指定从原字符串的第几个字符开始替换。
被替换的字符数 :指定从开始处连续有几个字符要被替换掉。
绝招
如果此数为0,那么“用于替换的字符串”将插入到开始处。
用于替换的字符串 :该字符串将代替被替换掉的字符串放到原字符串当中。
绝招
如果此为空字符串,被替换的字符将被删除。
示例
STORE 'abcdefghijklm' TO gcString1
STORE '12345' TO gcString2
CLEAR
? STUFF(gcString1, 4, 0, gcString2) && 插入
? STUFF(gcString1, 4, 5, gcString2) && 替换
? STUFF(gcString1, 4, 6, '') && 删除
? STUFF(gcString1, 4, 3, gcString2) && 替换3个,其它的就插入
? STUFF(gcString1, 4, 7, gcString2) && 替换5个,还有两个没东西替换的就删掉
? STUFF(gcString1, 4, LEN(gcString1), gcString2) && 替换5个,其余全删掉
这最后一个可能要动下脑筋想想为什么。
想看看运行的结果是怎样的吗?那就自己试试吧,您可以在命令窗口中一句一句的试。
说明
仔细对比一下 STUFF() 与CHRTRAN() 、STRTRAN() 的区别。
另有一个 STUFFC() 函数,它把汉字当一个字符看待,这样不会出现半个字符的现象,而 STUFF() 则把汉字当两个字符来处理,您可以比较一下如下两句:
stuff('FOXPRO 爱好者的天堂',9,1,'a')
stuffc('FOXPRO 爱好者的天堂',9,1,'a')
将一字符串中的某一部分用另一个字符串替换掉。
语法
STUFF( 原字符串 , 开始替换的位置 , 被替换的字符数 , 用于替换的字符串 )
返值类型
字符型
参数描述
原字符串 :其中的某一部分将被替换。(解释似乎比被解释的更难懂)
开始替换的位置 :指定从原字符串的第几个字符开始替换。
被替换的字符数 :指定从开始处连续有几个字符要被替换掉。
绝招
如果此数为0,那么“用于替换的字符串”将插入到开始处。
用于替换的字符串 :该字符串将代替被替换掉的字符串放到原字符串当中。
绝招
如果此为空字符串,被替换的字符将被删除。
示例
STORE 'abcdefghijklm' TO gcString1
STORE '12345' TO gcString2
CLEAR
? STUFF(gcString1, 4, 0, gcString2) && 插入
? STUFF(gcString1, 4, 5, gcString2) && 替换
? STUFF(gcString1, 4, 6, '') && 删除
? STUFF(gcString1, 4, 3, gcString2) && 替换3个,其它的就插入
? STUFF(gcString1, 4, 7, gcString2) && 替换5个,还有两个没东西替换的就删掉
? STUFF(gcString1, 4, LEN(gcString1), gcString2) && 替换5个,其余全删掉
这最后一个可能要动下脑筋想想为什么。
想看看运行的结果是怎样的吗?那就自己试试吧,您可以在命令窗口中一句一句的试。
说明
仔细对比一下 STUFF() 与CHRTRAN() 、STRTRAN() 的区别。
另有一个 STUFFC() 函数,它把汉字当一个字符看待,这样不会出现半个字符的现象,而 STUFF() 则把汉字当两个字符来处理,您可以比较一下如下两句:
stuff('FOXPRO 爱好者的天堂',9,1,'a')
stuffc('FOXPRO 爱好者的天堂',9,1,'a')
参考资料: http://blog.csdn.net/a_heng/archive/2008/04/09/2268744.aspx
展开全部
用'HS' + 截掉前两位之后后边的字符串
'HS' + SUBSTRING(student_archives_code, 3, LEN(student_archives_code) - 2)
'HS' + SUBSTRING(student_archives_code, 3, LEN(student_archives_code) - 2)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
stuff(col,1,2,'hs')
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
replace('WCWC19880210','WC','HS')
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询