select code=identity(int,1,1) into #t from
(select top 100 a=1 from syscolumns) as a,
(select top 100 a=1 from syscolumns) as b,
(select top 10 a=1 from syscolumns) as c--得到1-100000的连续自然数select nchar(code),code from #t order by code
--可以发现,中文字符就是UNICODE编码从19968到40870
知道了以后,就可以直接这么写了,得到所有汉字及对应unicode码
select top 20902 code=identity(int,19968,1) into #t from
(select top 165 a=1 from syscolumns) as a,
(select top 165 a=1 from syscolumns) as b
--得到所有汉字select nchar(code),code
from #t

解决方案 »

  1.   

    哇,这个代码经典!
    第一句生成一个表,这个表为所有汉字的UNICODE代码,(即一个汉字对应一个整数)
    第二句将UNICODE码转成中文。
      

  2.   

    谢谢,汉字的UNICODE代码是按什么排序的,
      

  3.   

    unicode代码本身是没有顺序的。
      

  4.   

    谢谢pengdali(大力) 和 Chiff(~o~) 上面的代码是Chiff(~o~)的