Below query work well on sql server 2008 R2
create FUNCTION [dbo].[sortingfunction]
(
@column varchar(max)
)
RETURNS varchar(max)
AS
BEGIN
Declare @num varchar(50)
Declare @space varchar(50)
Declare @index int = 1
set @num = LEFT(SUBSTRING(@column, PATINDEX('%[0-9.-]%', @column), 8000), PATINDEX('%[^0-9.-]%', SUBSTRING(@column, PATINDEX('%[0-9.-]%', @column), 8000) + 'X')-1)
set @space = replicate(' ', 20 - len(@num))
return replace(@column, @num, @space + @num)
END
----------------------------------------------------------------------
select from sampletable order by dbo.sortingfunction(key)
while on sql server 2005 it saying that
Msg 139, Level 15, State 1, Procedure sortingfunction, Line 0
Cannot assign a default value to a local variable.
please help