你的#temp的第二个字段的类型是不是nvarchar或nchar?

解决方案 »

  1.   

    select @sql='insert into #temp select title,物业管理,create_user,create_time from test'
    这样试试
      

  2.   

    --测试
    exec('select cast(N''物'' as varbinary),cast(''物'' as varbinary)')--结果:
    0x6972     0xCEEF--证明那个N是起了作用的
      

  3.   

    执行这个是否乱码?
    exec('select (N''物''),(''物'')')
      

  4.   

    --这样
    declare @s nvarchar(4000)
    select @sql=N'insert into #temp select title,N''物业管理'',create_user,create_time from test'
      

  5.   

    exec('select (N''物''),(''物'')')的结果是前一个column不是乱码,后一个column乱码
      

  6.   

    select没问题,如select N'物业新闻' from test,插入临时表后就有问题了
      

  7.   

    临时表的字段是nvarchar类型的
      

  8.   

    --这样有没有问题?declare @s nvarchar(4000)
    select @sql=N'insert into #temp select title,N''物业管理'',create_user,create_time from test'
      

  9.   

    --这样又有没有问题select N'物业新闻' into #t from test
    select * from #t