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 语句不能与数据检索操作结合使用。 请求大家帮助,到底是我的思路有问题还是代码哪里写错了??
展开
1个回答
展开全部
你用的应该是ms sql server吧,字段类型都是varchar了,你还当date类型来用,当然不行了
你直接修改“计费终止日期”栏位的类型,从carchar改成date类型,用sql server提供的编辑界面来改,然后再调用“select dateadd(yyyy,-1,计费终止日期) from temp7”
你直接修改“计费终止日期”栏位的类型,从carchar改成date类型,用sql server提供的编辑界面来改,然后再调用“select dateadd(yyyy,-1,计费终止日期) from temp7”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询