没有标准函数的,只能自己写一个
create function fn_TruncSemiHanzi(@str varchar(4000))
returns varchar(8000)
as
begin
declare
@sTmp varchar(8000),@i int,@itmp int,@itmp2 int ,@stmp2 varchar(2)
select @sTmp=''
select @i=1
while @i<=len(@str)
begin
select @itmp=convert(int,substring(convert(varbinary,substring(@str ,@i,1)),1,1)) --截取一个字节
if @itmp>127
begin
--大于127检查后面一个字节
select @itmp2=convert(int,substring(convert(varbinary,substring(@str ,@i,1)),2,1))
if @itmp2>127
begin
select @stmp2=char(@itmp)+char(@itmp2) --是一个完整的汉字
end
else
begin
select @stmp2=char(@itmp2) --丢弃半个汉字
end
end
else
begin
select @sTmp2=char(@itmp)
end
select @sTmp=@sTmp+@stmp2
select @i=@i+1
end
return @stmp
end
select
case when bFModel like '%=%' then SUBSTRING(bFModel, CHARINDEX('=',bFModel)+1,LEN(bFModel)-CHARINDEX('=',bFModel))
when bFModel like '%%' then SUBSTRING(bFModel, 0,LEN(bFModel)-CHARINDEX('',bFModel))
end as 长度
select
substring(所查询字符串,patindex('%[^0-9][0-9]%',所查询字符串)+1,patindex('%[0-9][^0-9]%',所查询字符串)-patindex('%[^0-9][0-9]%',所查询字符串))这个只能查询第一次在字符串出现的数字串,希望可帮到你你
以上就是关于sql 查询 多少个字节长度 比如中 者返回2个字节,是哪个方法全部的内容,包括:sql 查询 多少个字节长度 比如中 者返回2个字节,是哪个方法、SQL怎样取出字符串中的数字、sql怎么取字符串中的数字等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)