text类型字段修改 数据表user中有detail字段,保留detail字段内容并追加"2006",怎么追加? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果没超过8000字符?update user set detail=detail+'2006' update user set detail=cast(detail as varchar(8000))+'2006' 不好意思,会说,却把cast(detail as varchar(8000))漏掉了 lxzm1001,这个字段的值部分超过了8000字符 --测试数据CREATE TABLE tb(col ntext)-- 插入INSERT tb VALUES(REPLICATE( '0001,000,',1))--查看 select * from tb --结果 /* 0001,000, */-- 追加数据DECLARE @p binary(16)SELECT @p=TEXTPTR(col) FROM tbUPDATETEXT tb.col @p NULL 0 tb.col @p--值为 NULL 则将新数据追加到现有数据值中。 --值为 0 表示不删除数据。 --查看 select * from tb --结果 /* 0001,000,0001,000, */--重新写内容WRITETEXT tb.col @p 'text内容'--查看 select * from tb --结果 /* text内容 */--追加数据DECLARE @s VARCHAR(800)set @s='追加......!' UPDATETEXT tb.col @p null 0 @s--查看 select * from tb --结果 /* text内容追加......! */--删除测试表drop table tb declare @ptrval binary(16)select @ptrval = textptr(字段名) from 表名 where条件update 表名.字段名 @ptrval 起始位置 结束位置 替换的字符计算起始位置select patindex('%字符串%',字段名) from 表名计算结束位置select len('字符串') 看错了,上面写的是更新的如果是结尾处追加起始位置select datalength(字段名)/2 from 表名结束位置写成0就可以了 sql语句小问题 求SQL语句 【讨论】如何快速向一个表快速插入n行? 提问,这样的一个插入游标问题,谢谢各位大哥的帮忙 如果替换了单引号,是不是就可以防止SQL注册?? 事物隔离的问题 简单问题,如何判断为“” sql 2005 打开表时报错??? 怎样用select 语句把一个表的数据复制到另外一个数据库的表中? ORACLE8i在什么系统下效率更高? text字段为什么输入汉字很多的情况下 就显示<long text> 高手请进:请问怎么在数据库所有表中查找一个指定值?
update user set detail=detail+'2006'
CREATE TABLE tb(col ntext)
-- 插入
INSERT tb VALUES(REPLICATE( '0001,000,',1))
--查看
select * from tb
--结果
/*
0001,000,
*/
-- 追加数据
DECLARE @p binary(16)
SELECT @p=TEXTPTR(col) FROM tb
UPDATETEXT tb.col @p NULL 0 tb.col @p--值为 NULL 则将新数据追加到现有数据值中。
--值为 0 表示不删除数据。
--查看
select * from tb
--结果
/*
0001,000,0001,000,
*/--重新写内容
WRITETEXT tb.col @p 'text内容'
--查看
select * from tb
--结果
/*
text内容
*/--追加数据
DECLARE @s VARCHAR(800)
set @s='追加......!'
UPDATETEXT tb.col @p null 0 @s
--查看
select * from tb
--结果
/*
text内容追加......!
*/--删除测试表
drop table tb
select @ptrval = textptr(字段名) from 表名 where条件
update 表名.字段名 @ptrval 起始位置 结束位置 替换的字符计算起始位置
select patindex('%字符串%',字段名) from 表名计算结束位置
select len('字符串')
select datalength(字段名)/2 from 表名结束位置写成0就可以了