我用一个简单的例子来说明一下:
--下面是一个表:
declare @table table (id int identity(1,1),window nvarchar(max))
insert into @table (window)
select 'AAAA1111' union all
select 'AAA111' union all
select 'AA11'
select * from @table
/*
id window
----------- ----------
1 AAAA1111
2 AAA111
3 AA11
*/
--假设我们要更新表的该字段的后一半变成DD
update @table
set
window.write('DD',len(window)/2,ceiling(cast(len(window) as float)/2))
select * from @table
/*
id window
----------- ----------
1 AAAADD
2 AAADD
3 AADD
*/
用write一次就可以更新出现我们要的结果,当然我们也可以用别的办法。
这里只是说明一下write的用法。
注意事项:
1、write是Sql server2005和Sql server2008中方可使用。
2、write更新的字段要是varchar(max) 或是narchar(max)的。
@【叶子】http://blog.youkuaiyun.com/maco_wang 原创作品,转贴请注明作者和出处,留此信息。
本文通过一个简单示例展示了如何使用SQL Server 2005/2008中的WRITE函数来更新nvarchar(max)类型字段的部分内容。通过具体代码实现了字段后半部分的批量替换。
2220

被折叠的 条评论
为什么被折叠?



