你检查一下你 正式表(msg) 的字段看看是不是类型长度不兼容
解决方案 »
- 一个SQL语句优化 优化····
- 怎样实现查询多条件?
- sql的游标定住很久是怎么回事?
- 问:数据库脚本控制(有没有check in ,check out的软件)?
- 定义一个局部变量@SQL varchar(90),set @SQL = 'declare @s nvarchar(100)' + char(13),后面的+ char(13)有什么用啊,请高手帮忙阿,
- sqlserveragent不能启动的原因是什么?
- 请教一个关于远程备份数据库的问题
- 请教:数据库事务一致性问题?
- 十万火急:数据复制出错。。。
- 请问如何能用VFP把一张图象存入数据库,并读出来显示到窗体或者图象控件内?
- 有谁遇到在WIN 2003下无法安装SQL SERVER的问题?
- 急!排序问题
gocreate proc proc_add4 @MSG VARCHAR(1000)
as
DECLARE @OKMSG VARCHAR(100),@n int
select @n=0
WHILE LEN(@MSG)>=@n*10
BEGIN
SET @OKMSG=SUBSTRING(@MSG,@n*10+1,10)
--SET @MSG=REPLACE(@MSG,@OKMSG,'')
INSERT INTO a(i) values(@OKMSG)
select @n=@n+1
END
exec proc_add4 '我们啊啊啊啊阿啊aaaa啊啊啊阿啊啊啊啊aaa爱情Z'
go
select * from a
在数据库里面汉字和字母多是占1位得
@OKMSG VARCHAR(10) --此处应该字段长度DECLARE @Position intSET @MSG = 'ABCDEFG中国认突然他HIJKL认突然他MNOP回家QRSTUVWXYZ'SET @OKMSG = ''SET @Position = 1WHILE @Position < LEN(@MSG)
BEGIN
IF DATALENGTH(@OKMSG) + DATALENGTH(SUBSTRING(@MSG,@POSITION,1)) > 10 --此处应该字段长度
BEGIN
INSERT INTO AAA values(@OKMSG)
SET @OKMSG = ''
END
ELSE
BEGIN
SET @OKMSG = RTRIM(@OKMSG) + SUBSTRING(@MSG,@POSITION,1)
SET @POSITION = @POSITION + 1
END
IF @Position >= LEN(@MSG)
INSERT INTO AAA values(@OKMSG)
END