DECLARE @L INT,@NAME VARCHAR(10),@sql varchar(1000)
SET @L=100
SET @NAME='*20*4'
select @sql='select '+cast(@L as varchar(38))+@NAME
exec(@sql)-----------
8000(1 行受影响)

解决方案 »

  1.   

    更正一下:
    DECLARE @L INT,@NAME VARCHAR(10)
    SET @L=100
    SET @NAME='20*4'
    SELECT @L*@NAME最后结果等于:8000
      

  2.   

    DECLARE @L INT,@NAME VARCHAR(100)
    SET @L=100
    SET @NAME='*20*4'
    set @name='select '+ltrim(@l)+@nameselect @nameexec(@name)8000
      

  3.   

    再问小虫兄:
    前题:   
    有三个表(T_B1,T_B2,T_B3),数据如下:   
    T_B1:   T_ID                   T_CONT   
    L001                           50   
    L002                           120   
    L003                           75   T_B2(其中T_B2的T_ID与T_B1的T_ID是相关联的,存在一对多关系):   T_ID               N_ID               N_NAME   
    L001                   1                           *0.05*2   
    L001                   2                           *0.1*2   
    L002                   1                           *0.14*3   
    L002                   2                           *0.25*4   
    L002                   3                           *0.35*4   
    L003                   1                           *0.45*2   
    L003                   2                           *0.6*2   T_B3(其中T_B3的N_ID字段与T_B2的N_ID是相关联的存在一对多关系):   
    N_ID           NAME               M_COUNT   
    1                           李四                   T_B2表中的N_NAME字段*T_B1表的T_CONT字段   
    1                           王五   
    3                           张六   
    2                           陈七   要解决的问题:   
    写一存储过程达到以下结果:   
    N_ID  T_ID  NAME  M_COUNT   
    1     L001  李四     5      --50*0.05*2               T_B2表中的N_NAME字段*T_B1表的T_CONT字段   
    1     L002  王五    50.4           --120*0.14*3   
    3     L002  张六    168               ---120*0.35*4   
    2     L003  陈七    90                   ----75*0.6*2