关于Substring的错误,求解决

ChocolateTan 2011-08-22 02:01:55
DECLARE @a1 int
DECLARE @b1 char(1)
SET @a1 = 1
SET @b1 = SUBSTRING(@XueQi,@a1,1)
WHILE (@b1 != '' and @a1 <= 8)
BEGIN
INSERT INTO GongXuanKe_KeMu_KaiKeXueQi(XuanKeKeChengZDBH,XueQi)
VALUES (@XuanKeKeChengZDBH,@b1)
SET @a1 = @a1 + 1
SET @b1=SUBSTRING(@XueQi,@a1,1)
END
请问那里有问题?
总是报错

消息 8116,级别 16,状态 1,过程 GongXuanKe1_FRMJiaoShi_ShenBao_KeCheng,第 85 行
参数数据类型 int 对于 substring 函数的参数 1 无效。
消息 8116,级别 16,状态 1,过程 GongXuanKe1_FRMJiaoShi_ShenBao_KeCheng,第 94 行
参数数据类型 int 对于 substring 函数的参数 1 无效。

这个存储过程是关于提取某个字段里的值,然后生成一条记录,@a1值加以提取字段第二个字节生成第二条记录
...全文
683 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ChocolateTan 2011-08-22
  • 打赏
  • 举报
回复
原来是数据类型错了~~~解决了,麻烦大家了
NBDBA 2011-08-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 chococlatetan 的回复:]
都定义好了~~~~就是在substring那里有问题
[/Quote]
那你自己找问题吧
AcHerat 元老 2011-08-22
  • 打赏
  • 举报
回复
@XueQi这是什么类型的? 字符串substring第一个参数要是字符串。
快溜 2011-08-22
  • 打赏
  • 举报
回复
@XueQi是否有效字符串
ChocolateTan 2011-08-22
  • 打赏
  • 举报
回复
报错的已经写在上面~~~~
消息 8116,级别 16,状态 1,过程 GongXuanKe1_FRMJiaoShi_ShenBao_KeCheng,第 85 行
参数数据类型 int 对于 substring 函数的参数 1 无效。
消息 8116,级别 16,状态 1,过程 GongXuanKe1_FRMJiaoShi_ShenBao_KeCheng,第 94 行
参数数据类型 int 对于 substring 函数的参数 1 无效。
ChocolateTan 2011-08-22
  • 打赏
  • 举报
回复
都定义好了~~~~就是在substring那里有问题
AcHerat 元老 2011-08-22
  • 打赏
  • 举报
回复
declare @XueQi

这个呢?
NBDBA 2011-08-22
  • 打赏
  • 举报
回复
@XueQi的定义和赋值呢?

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧