sql server中运行sql代码报错:向变量赋值的 SELECT 语句不能与数据检索操作结合使用

       数据库中有一张temp7表,里面的数据是从文本文件导入的,因此各个字段都是varcha...         数据库中有一张temp7表,里面的数据是从文本文件导入的,因此各个字段都是varchar类型,这是其中的几条数据:       我要把“计费终止日期”的年份减一,由于里面有错的数据存在,比如说时间有可能出现"2010-2-29"的现象,在执行“select dateadd(yyyy,-1,计费终止日期) from temp7”的时候会失败,错误信息:从字符串转换为 datetime 时发生语法错误。      由于里面数据有三千多条,不可能手工去一条一条的找,写了一个错误筛选器,想试图找到哪条数据的时间有误,代码如下:declare @error int,@lou varchar(20),@dan varchar(20)  set @error = 0   while(1=1)     begin select @lou=楼阁,@dan=房屋,dateadd(yyyy,-1,计费终止日期) from temp7 set @error=@error+@@error if(@error<>0)   break     end  print @lou+@dan    如果有错的话,通过打印变量来确定是几栋几单元多少号的数据错了,但是我在运行的时候报错,错误如下:向变量赋值的 SELECT 语句不能与数据检索操作结合使用。    请求大家帮助,到底是我的思路有问题还是代码哪里写错了?? 展开
 我来答
maye100
2011-10-09 · TA获得超过2650个赞
知道小有建树答主
回答量:1341
采纳率:100%
帮助的人:975万
展开全部
你用的应该是ms sql server吧,字段类型都是varchar了,你还当date类型来用,当然不行了
你直接修改“计费终止日期”栏位的类型,从carchar改成date类型,用sql server提供的编辑界面来改,然后再调用“select dateadd(yyyy,-1,计费终止日期) from temp7”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式