大家应该也见过这种情况:用五笔等输入法输入的“汉字数字”,样子看起来比正常的阿拉伯数字又大又粗。 我现在在SQL SERVER 2005 里遇到了许多包含这种“汉字数字”的文本。可在SQL SERVER 2005里显示是错乱的,有的干脆显示是空的。
请问下:需要怎么设置才能使数据库支持这种“汉字数字”?

解决方案 »

  1.   

    cast('asdf' as nvarchar(10))
      

  2.   

    =引用 3 楼 happyflystone 的回复:]
    cast('asdf' as nvarchar(10))
    [/Quote]
    我这里还是有问题
      

  3.   

    首先感谢各位的回复。
    祝各位虎年吉祥,虎虎生威。
    建表的时候就设为nvarchar(max)或ntext了。你的意思是在此基础上还要以cast('asdf' as nvarchar(10))这种方式查询?望详细说明。
      

  4.   


    哦,终于找到该如何称呼这些数字了。全角数字。
    处理的数据是来自别的渠道,而非本人亲自键入的。 
    问题是别人使用全角字符输入了这些数据,而我接收到SQL SERVER 2005之后,无法正常显示。有的显示问号,有的显示乱码,有的显学空白。我尝试将显示字体改为方正宋体特大符(SIP),仍无法正确显示。按照微软联机丛书中补充字符处理的说明也没有解决问题。实在是百思不得其解。
    1、建表时字段类型为nvarchar(max)或ntext, 应该支持Unicode啊
    2、即便是接收的全角数字不在Unicode中,那应该包含在补充字符中啊。那方正宋体特大符(SIP)应该是支持显示补充字符的啊。望明人指点。
      

  5.   

    数据更新一下
    update tb 
    set column1 = cast(column1 as nvarchar(10))
      

  6.   

    感谢各位的回复。终于找到了原因,原来原因不在数据库,而在将数据写入数据库的程序。那个程序没有很好的支持UNICODE造成的。
    结贴