工作中 碰到了这么一个问题,软件权限码是TEXT类型的数据,要在原有权限的基础上,给每个人增加一个固定的权限值,
这就难倒我了?1,
-
试试 update ……好吧,提示错误信息
代码: update ccode set usedbcodestr = usedbcodestr + ';188'

- 这可如何是好?求助我们百度大明白吧,结果就是一路向坑,坑的我不要不要的,大多数人都是说要写个T-SQL 语句块,我还真写了,但是结果……命令行执行完成,但是却对表没有任何修改,一顿操作猛如虎,定神一看原地杵……
DECLARE @ptrval binary(16)
SELECT @ptrval = TEXTPTR(备注) from 教师表
UPDATETEXT 教师表.备注 @ptrval null 0 'bbbb'
end DECLARE @ptr binary(16)DECLARE @val nvarchar ( 100 )
SET @val = 'sssss'
SELECT @ptr = TEXTPTR (备注) FROM 教师表 --WHERE id=2
UPDATETEXT 教师表.备注 @ptr null 0 @val-------------id=2的 content的尾部加上@valUPDATETEXT aa.content @ptr 0 0 @val-------------id=2的 content的头部加上@val
-
最终解决的结果请注意:!!!!注意,由于text类型的数据不允许进行直接的字符串连接操作,所以要先用cast函数将其转换为varchar 类型,再进行运算
update ccode set usedbcodestr = cast(usedbcodestr as varchar) +';188'
- 特别注意,cast()函数默认会截断长字符,如果原来的串很长了,再从后面加字符,就要给varchar设置长度,避免截断的问题出现
update ccode set usedbcodestr = cast(usedbcodestr as varchar(1000)) +';188'
在SQL Server中遇到一个问题,当尝试将TEXT类型数据与varchar进行加运算时,遇到了不兼容的问题。经过一系列尝试,包括使用T-SQL语句块和UPDATETEXT命令,但未取得成功。最终解决方案是通过CAST函数将TEXT类型转换为varchar,然后再进行字符串连接操作。需要注意,CAST函数可能会截断长字符,因此在转换时应指定足够的varchar长度以避免数据丢失。
3809

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



