时间:2016-02-26 08:50 来源: 我爱IT技术网 作者:佚名
欢迎您访问我爱IT技术网,今天小编为你分享的电脑教程是站长建站系列之:【谈谈SQL中函数replace和stuff的使用及区别】,下面是详细的分享!
谈谈SQL中函数replace和stuff的使用及区别
在以前,如果要对网站中所有文章进行字符处理,一般我都是用网页写代码,步骤如下:1.先查询,判断是否包含此字符---> 2.然后用函数替换成需要的字符---> 3.最后update数据。
其实,这种步骤是可行的。但是这样也会有一个问题,就是执行的效率太低太低,几千条数据都会卡好一会儿。
后来在网上发现mssql数据库自带有替换函数。只要一条语句,世界顷刻间安静了……
下面我谈谈SQL字符替换函数replace和stuff的使用及区别
=================================================
1.replace(字符串表达式1,字符串表达式2,字符串表达式3):
用字符串表达式3替换字符串表达式1中出现的所有字符串表达式2的匹配项。返回新的字符串。
例如:select replace('abcttabchhabc','abc','123')
返回 123tt123hh123
总结:replace()函数可以多次替换,只要是在字符串表达式1中有字符串表达式2的出现,最后都会被替换成字符串表达式3.
2.stuff(字符串表达式1,开始位置,长度,字符串表达式2):
在字符串表达式1中在指定的开始位置删除指定长度的字符,并在指定的开始位置处插入字符串表达式2。返回新字符串。
例如:select stuff('abcdef',2,2,'123')
返回 a123def
总结:stuff()函数只能一次性替换字符串表达式1中连续长度的字符串,不能循环替换。
==================================================
最后,我发现这函数对ntext数据库类型会报错!
再查资料,果真如此!以下是解决的方法:
UPDATE 表 SET 字段=REPLACE(cast(字段 AS varchar(8000)),'被替换的内容','将要替换成的内容')
说到底其实就是将ntext类型转化为函数可接受的类型,如上面的varchar类型。
varchar(8000)是字段类型。8000是个很猛的字段,可以根据自己的实际情况改动!
好啦,上面就是本人对 SQL替换函数replace和stuff的一些使用小结,希望能给有需要的朋友带来帮助
以上就是关于谈谈SQL中函数replace和stuff的使用及区别的手机问答知识分享,更多电脑教程请移步到>>电脑教程频道。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
