比如表A:
学号
01
02
03为什么 select ''''+学号+'''' from A
会得到'01'
'02'
'03'请详细解释下。

解决方案 »

  1.   


    select '''' 出来看看结果就知道了哦。
      

  2.   

    select A.列名 from A  就行了
      

  3.   

    在SQL中 ''''表示一个'select ''''
         
    ---- 
    '(所影响的行数为 1 行)
      

  4.   

    create table #(code varchar(20),value int)
    declare @sql varchar(200)
    set @sql='insert into # select ''AAA'',10' 
    -- AAA之前的一对单引号与之后的一对单引号分别代表一个单引号print @sql  --查看这个字符串的实际内容
    /*
    insert into # select 'AAA',10
    */exec(@sql)
    select * from #
    /*
    code                 value       
    -------------------- ----------- 
    AAA                  10
    */--如果需要insert一个值为'A''AA'的字符串,如下:
    set @sql='insert into # select ''A''''AA'',10'  
    --两层嵌套的字符串内部,一个单引号需要经过两次转义,于是变成了4个单引号print @sql  --查看这个字符串的实际内容
    /*
    insert into # select 'A''AA',10
    */exec(@sql)select * from #
    /*
    code                 value       
    -------------------- ----------- 
    AAA                  10
    A'AA                 10
    */
    drop table #
      

  5.   


    但为什么 select '''+学号+''' from A 会得到 '+学号+' 呢?