已发1贴,(http://topic.csdn.net/u/20110518/12/fbde0cd3-f0a3-478e-a8f0-027bc305f6d4.html),但那里的回复不是我要的.如1个回复得到的都是:  --- "慿寽�飫섁访퐥櫔쵥볛롰飓㻄댅炍峘㞱ퟒ밮㝲垻괸쐲=䥾膅耢귞賛ᗕ꣒ⵀϖ⤥" --这样的结果不是我要的.
我的需求,给数据库插入测试数据,要求中文字符(偶尔夹杂英文,标点字符(逗号,引号,句号)也行),控制在256字符,不要太多生僻汉字.

解决方案 »

  1.   

    select     nchar(cast((40959 - 1248 )*rand() + 1248 as int))  + 
               nchar(cast((40959 - 1248 )*rand() + 1248 as int))   + 
               nchar(cast((40959 - 1248 )*rand() + 1248 as int))   + 
               nchar(cast((40959 - 1248 )*rand() + 1248 as int)) 
      

  2.   

    unicode编码范围:
    汉字:[0x4e00,0x9fa5](或十进制[19968,40869])
    数字:[0x30,0x39](或十进制[48, 57])
    小写字母:[0x61,0x7a](或十进制[97, 122])
    大写字母:[0x41,0x5a](或十进制[65, 90])
      

  3.   

    这个取决于你对中文字符和怪字符的定义一般来说unicode编码中我们常说的中文范围是4e00-9fff
    换算成十进制的话就是19968-40959
    注意这个40959 也就是2楼的算法的由来但是里面必然的有n多你认为的那些怪字符存在,所以怎么定义你的范围这个才是第一要解决的