set @where =
' where SL.CrtDate between '''+@BeginDate+''' and '''+@EndDate+'''
and (S.name like '''+@Store+''' or '+@Store+' is null)
and (SL.ListFlag = '''+@ListFlag+''' or '+@ListFlag+' is null)
and (SL.ListNo like '''+@ListNo+''' or '+@ListNo+' is null)
and (SL.HostNo like '''+@HostNo+''' or '+@HostNo+' is null)
and (UT.username like '''+@OptName+''' or '+@OptName+' is null)
and (E.Name like '''+@SalesName+''' or '+@SalesName+' is null)
'调用时老提示关键字 'is' 附近有语法错误。
' where SL.CrtDate between '''+@BeginDate+''' and '''+@EndDate+'''
and (S.name like '''+@Store+''' or '+@Store+' is null)
and (SL.ListFlag = '''+@ListFlag+''' or '+@ListFlag+' is null)
and (SL.ListNo like '''+@ListNo+''' or '+@ListNo+' is null)
and (SL.HostNo like '''+@HostNo+''' or '+@HostNo+' is null)
and (UT.username like '''+@OptName+''' or '+@OptName+' is null)
and (E.Name like '''+@SalesName+''' or '+@SalesName+' is null)
'调用时老提示关键字 'is' 附近有语法错误。
and (SL.ListFlag = '''+@ListFlag+''' or '+@ListFlag+' is null)
and (SL.ListNo like '''+@ListNo+''' or '+@ListNo+' is null)
and (SL.HostNo like '''+@HostNo+''' or '+@HostNo+' is null)
and (UT.username like '''+@OptName+''' or '+@OptName+' is null)
and (E.Name like '''+@SalesName+''' or '+@SalesName+' is null)这么多个,先只写一个试试.把拼接生成的语句,打印到界面上,单独复制运行拼接出来语句.再找错误就好办了.
ListNo是整型或者长整型吧?如果是这样,就不能在后面加上is null,因为整型或者长整型是值类型,即使没有赋值,也有个默认值0,你试试把它改成<>0吧!
@BeginDate nvarchar(50),
@EndDate nvarchar(50),
@Store nvarchar(50) = null,
@ListFlag nvarchar(50) = null,
@ListNo nvarchar(50) = null,
@HostNo nvarchar(50) = null,
@OptName nvarchar(50) = null,
@SalesName nvarchar(50) = null