如果用程序来做,可能会方便一点,第一个数据用POS和Length来实现,分离汉字可能用取得其ACIIE码解决,

解决方案 »

  1.   

    把数据取出后类型转换成:nchar,nvarchar,ntext等类型,然后就可以判断是否汉字了。
    判断方法是:将取出的字符看其字节最高位是否为1,如果为1,就是汉字。
    我做了一个例子:
    declare @A nchar(20),@SChar nvarchar(1)set @A='1c中'declare @i int,@j int
    set @i=len(rtrim(@A))
    select @i
    set @j=1
    while @j<=@i
    begin
    set @SChar=substring(@A,@j,1)
    select  @SChar as TheChar,ascii(@SChar)&128 TopV,len(@SChar)
    set @j=@j+1
    end返回:i=3循环中返回:1,0,1
    c,0,1
    中,128,1