select * from bill2009 where mon='200903' and name='zhang'以上语诗句在sql编程中如何实现2个变量的加入。declare @sql Nvarchar(2000)
declare @str_month nvarchar(6),@str-name nvarchar(10)
set @sq=N'........
exec sp_executesql @sql目的是要实现第一行的查询,请帮我补充
谢谢。

解决方案 »

  1.   


    declare @sql Nvarchar(2000)
    declare @str_month nvarchar(6),@str_name nvarchar(10)
    DECLARE @sql VARCHAR(800)
    set @sql='select * from bill2009 where mon=''200903'' and name=''zhang'''
    PRINT @sql
    exec  @sql
      

  2.   

    /*select * from bill2009 where mon='200903' and name='zhang'*/
      

  3.   

    declare @sql Nvarchar(2000) 
    declare @str_month nvarchar(6),@str_name nvarchar(10) 
    set @str_month='200903' 
    set @str_name ='zhang' set @sql=N'select * from bill2009 where mon=@str_month and name=@str_name' 
    exec sp_executesql @sql,N'@str_month nvarchar(6),@str_name nvarchar(10)',@str_month,@str_name 
      

  4.   


    declare @sql Nvarchar(2000)
    declare @str_month nvarchar(6),@str_name nvarchar(10)
    set @str_month ='200903'
    set @str_name ='zhang'
    DECLARE @sql VARCHAR(800)
    set @sql='select * from bill2009 where mon=''@str_month'' and name=''@str_name '''
    PRINT @sql
    exec  @sql
      

  5.   


    declare @sql Nvarchar(2000)
    declare @str_month nvarchar(6),@str_name nvarchar(10)
    set @str_month ='200903'
    set @str_name ='zhang'
    set @sql='select * from bill2009 where mon='''+@str_month+''' and name='''+@str_name+''''
    PRINT @sql
    /*
    select * from bill2009 where mon='200903' and name='zhang'*/