/*
判断字符是否含有中文
select dbo.IsHaveChinese('ddf中文kkk')
return:haveChinese 否者 return noChinese
*/
CREATE FUNCTION IsHaveChinese(@nvString nvarchar(4000))
RETURNS varchar(100)
AS
BEGIN
declare @iCount int
,@iPos int
,@vReturnValue varchar(20)
select @iCount=len(@nvString)
,@iPos=1
if(ltrim(rtrim(@nvString))='')
begin
set @vReturnValue='haveChinese'
goto lbl_Return
end
while(@iPos<=@iCount)
begin
--print substring(@nvString,@iPos,1)
--print ascii(substring(@nvString,@iPos,1))
if(ascii(substring(@nvString,@iPos,1))>=127) --通過ascii碼值進行循環判斷
begin
set @vReturnValue='haveChinese'
break
end
else if(@iPos=@iCount)
begin
set @vReturnValue='noChinese'
end
set @iPos=@iPos+1
end
lbl_Return:
return(@vReturnValue)
END