, , ,
Alter FUNCTION [dbo].[GetHumanSortOrder] (@ColumnName VARCHAR(50))
RETURNS VARCHAR(20)
AS
BEGIN
DECLARE @HumanSortOrder VARCHAR(20)
SELECT @HumanSortOrder =
CASE
WHEN (LEN(replace(replace(<Column_Name>,'.',''),'Figure ',''))) = 2
THEN
CONCAT (SUBSTRING(replace(replace(<Column_Name>,'.',''),'Figure ',''),1,1),'0',SUBSTRING(replace(replace(<Column_Name>,'.',''),'Figure ',''),2,2))
ELSE
replace(replace(<Column_Name>,'.',''),'Figure ','')
END
FROM <Table_Name> AS a (NOLOCK)
WHERE <Column_Name> = @ColumnName
RETURN @HumanSortOrder
END
, , 104,107,119,10A, 10B ..
SELECT * FROM <Table_Name> ORDER BY GetHumanSortOrder(<Column_Name>)
,