用SQL如何判断一个中英文混合字符串的字节长度?
一个英文字符按一个字节,中文字符按俩字节算=========================有一个很长的varchar(8000)
里面保存的是中英文混合字符串
如何取前200字节?计算方式同上==============================
最好能写成函数形式
一个英文字符按一个字节,中文字符按俩字节算=========================有一个很长的varchar(8000)
里面保存的是中英文混合字符串
如何取前200字节?计算方式同上==============================
最好能写成函数形式
set @s='用SQL如何判断一个中英文混合字符串的字节长度?.....要操作的字符串'--取前200字节
select 前200字节=cast(substring(cast(@s as varbinary(8000)),1,200) as varchar(8000))
--第二个写成函数就是:
create function f_left(
@str varchar(8000),
@len int
)returns varchar(8000)
as
begin
return(cast(substring(cast(@str as varbinary(8000)),1,@len) as varchar(8000)))
end
go--调用
select dbo.f_left('afasdjf',200)