Update 只更新部分内容,可否实现?大大们帮忙看看.!
比如,数据如下.
在.user表中的字段.
用户名 数据.
123 0xAAAAAA1111FFFFF
222 0xBBBBBB1233EEEEE
333 0xCCCCCC5123DDDDD
444 0xDDDDDD8888FFFFF
那么.什么办法.只更新.数据库中的.前6个数据. 跟.后5个数据.
如.只更新.123 0xAAAAAA1111FFFFF
中的.0xAAAAAA1111FFFFF
如:
Update user set 数据=0x888888111199999 Where 用户名='123'
是直接修改.但是前提是我查到了.数据中间部分是.1111.但是每次都去找太麻烦.
能否不知道中间数据的情况下.(不知道中间数为.1111)直接修改掉.首,跟尾部的数据呢?
[解决办法]
如果“数据”是字符型的,请尝试以下方法
if object_id('[user]') is not null drop table [user]gocreate table [user]([用户名] int,[数据] varchar(30))insert [user]select 123,'0xAAAAAA1111FFFFF' union allselect 222,'0xBBBBBB1233EEEEE' union allselect 333,'0xCCCCCC5123DDDDD' union allselect 444,'0xDDDDDD8888FFFFF'goUpdate [user] Set 数据=convert(varbinary(8),stuff(left(数据,len(数据)-5),3,6,'888888')+'99999') Where 用户名='123'goselect * from [user]/**用户名 数据----------- ------------------------------123 0x888888111199999222 0xBBBBBB1233EEEEE333 0xCCCCCC5123DDDDD444 0xDDDDDD8888FFFFF(4 行受影响)**/