declare @sql varchar(200)
select @sql='select SymptomCode'+@LanguageID+' from SymptomCode'
exec(@sql)

解决方案 »

  1.   

    直接使用sql语句,不要动态了。
    declare @a table(SymptomCodeEN varchar(20),SymptomCodeTW varchar(20), SymptomCodeCN VARCHAR(20) ,SymptomCodeJP varchar(20))
    insert into @a
    select 'en','tw','cn','jp'declare @languageId varchar(20)
    select @languageId='CN'select 内容=case @languageId when 'EN' then SymptomCodeEN
                when 'TW' then SymptomCodeTW
                when 'CN' then SymptomCodeCN
                when 'JP' then SymptomCodeJP end 
    from @a
      

  2.   

    CREATE PROCEDURE myselect  
    @languageId varchar(10) as
    if @languageId='CN'
       select 内容=SymptomCodeCN from SymptomCode
    if @languageId='EN'
       select 内容=SymptomCodeEN from SymptomCode
    if @languageId='TW'
       select 内容=SymptomCodeTW from SymptomCode
    if @languageId='JP'
       select 内容=SymptomCodeJP from SymptomCode
    go
    调用 myselect 'CN'
      

  3.   

    create table tmp1(SymptomCodeEN varchar(20),SymptomCodeTW varchar(20), SymptomCodeCN VARCHAR(20) ,SymptomCodeJP varchar(20))
    insert into tmp1
    select 'en','tw','cn','jp'
    go
    create function fn_tbl(@languageId varchar(10) )
    returns @tbl TABLE (reirong varchar(3000))
    as
    begin
    insert into @tbl
    select 内容=case @languageId when 'EN' then SymptomCodeEN
                when 'TW' then SymptomCodeTW
                when 'CN' then SymptomCodeCN
                when 'JP' then SymptomCodeJP end 
    from tmp1
    return
    endgo 
    select * from fn_tbl('EN')