可以帮我看这段吗?

lifeforu 2002-06-22 10:30:34
可以帮我看这段吗?
select @sql出来的语句不是完整的,怎么回事?
执行的时候
服务器: 消息 170,级别 15,状态 1,行 5
第 5 行: '.02' 附近有语法错误。

DECLARE @SQL VARCHAR(5400)
SET @SQL='select operator,login=(select login from conduct where number=income.operator),name,
startno,lastno,soldall=(solda+soldd+solde+soldf+soldg+soldh),priceall=
(pricea+priced+pricee+pricef+priceg+priceh),soldb,priceb,soldc,pricec,backu,refundu,chargeu,
voucheru,backz,refundz,personsback,backv,refundv,chargev,disuse ,b=(persons-backu-backz),
p=(price-refundu-refundz) from income where workdate>('+ @start_date +') and workdate<(' +
convert(char,dateadd(Day,1,convert(char,@start_date,102)),102)+')and (solda+soldb+soldc+solde+soldf+soldg+soldh+
backu+backz)>0 and (workid in (' + @windows + ')) order by operator'
select @sql
EXEC (@SQL)
...全文
58 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Yang_ 2002-06-22
  • 打赏
  • 举报
回复
1、@start_date 应该是VARCHAR类型,如果是日期型,应该先转换。
2、日期型应该用''括起来.

DECLARE @SQL VARCHAR(5400)
SET @SQL='select operator,login=(select login from conduct where number=income.operator),name,
startno,lastno,soldall=(solda+soldd+solde+soldf+soldg+soldh),priceall=
(pricea+priced+pricee+pricef+priceg+priceh),soldb,priceb,soldc,pricec,backu,refundu,chargeu,
voucheru,backz,refundz,personsback,backv,refundv,chargev,disuse ,b=(persons-backu-backz),
p=(price-refundu-refundz) from income where workdate>('''+ @start_date +''') and workdate<(''' +
convert(char,dateadd(Day,1,convert(char,@start_date,102)),102)+''')and (solda+soldb+soldc+solde+soldf+soldg+soldh+
backu+backz)>0 and (workid in (' + @windows + ')) order by operator'
select @sql
EXEC (@SQL)
lifeforu 2002-06-22
  • 打赏
  • 举报
回复
GetIncomeWithDate '2002.06.02','','12'
@start_date,, @windows
第 5 行: '.02' 附近有语法错误。

34,576

社区成员

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

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