为什么我的SQL SEVER 2005版本运行一段代码执行后
在结果那一列(姓名)里显示的是"??",而不是表中的姓名
呢?很郁闷,一列全是"??" 而不是表中的(张三OR李四)
请高人指点是哪里的问题

解决方案 »

  1.   

    查一下这个字段使用的排序规则,或者把这个字段的数据类型修改成nvarchar或者nchar
      

  2.   

    你把表中的字段类型设置成nvarchar的你现在插入数据库的是unicode字符 显示不出来
      

  3.   

    if object_id('tb')is not null
    drop table tb
    go
    create table tb (年度 int,号码 nvarchar(25),姓名 nchar(50))
    insert into tb values(2008,'00001','张三')
    insert into tb values(2008,'00001','张三')
    insert into tb values(2008,'00002','张三')
    insert into tb values(2008,'00003','李四')
    insert into tb values(2009,'00003','李四')
    select 年度,号码,姓名,count(1) 号码个数 
    from tb
    group by 年度,姓名,号码结果
    2008 00001 ??                                                 2
    2008 00002 ??                                                 1
    2008 00003 ??                                                 1
    2009 00003 ??                                                 1
      

  4.   


    把字段改为nvarchar(长度)
    然后插入数据用
    insert into tb(name) values(N'张三')