create function ifexistscnword(@str varchar(1000)) returns int as begin declare @i int set @i=0 while @str <>'' and @i<>1 begin set @i=case when unicode(left(@str,1)) between 19668 and 19668+20902 then 1 else 0 end set @str=right(@str,len(@str)-1) end return @i end ---------------- select * from table where dbo.ifexistscnword(field)=1
http://expert.csdn.net/Expert/topic/2055/2055563.xml?temp=.842251
http://expert.csdn.net/Expert/topic/1793/1793502.xml?temp=.2130396
ShowMessage('汉字');
returns int
as
begin
declare @i int
set @i=0
while @str <>'' and @i<>1
begin
set @i=case when unicode(left(@str,1)) between 19668 and 19668+20902 then 1 else 0 end
set @str=right(@str,len(@str)-1)
end
return @i
end
----------------
select * from table where dbo.ifexistscnword(field)=1
高位:129~160 ,低位:64~254(<>127)
高位:170~254 ,低位:64~160(<>127)简体中文:
高位:176~247 ,低位:161~254(<>127)特殊字符(包括中文标点):
高位:161~167 ,低位:161~254
高位:168~169 ,低位:64~254(<>127)只要取出连续两个字节来分别作为高位和低位,并根据高低位对应的值便可判断