请高手优化...
以下是我自己编写的类似于substring函数的一个自定义函数(按字节截取),对导入固定宽度的文本文件非常有用,不过我觉得可以优化,但自己水平有限,请高手赐教,谢谢!
---------------------------------------------------------------
CREATE function SubByte(@String varchar(4000),@Start bigint,@Length bigint)
returns Nvarchar(4000)
as
begin
declare @Output varchar(2000)
declare @Ce bigint/*要截取字节前面的字节数与字符串数的差额)*/
set @Ce=(datalength(rtrim(left(@String,@Start-1)))-len(left(@String,@Start-1)))
declare @Ce2 bigint/*要截取字节的字节数与字符串数的差额)*/
set @Ce2=datalength(rtrim(substring(@String,@Start-@Ce,@Length)))- len(substring(@String,@Start-@Ce,@Length))
set @output=''
set @Output=substring(@String,@Start-(datalength(rtrim(left(@String,@Start-1)))-len(left(@String,@Start-1))),@Length)
set @Output=left(@Output,@Length-@Ce2)
return ltrim(rtrim(@Output))
end