• a variation....

    DECLARE@NumberTable TABLE( ItemNumber VARCHAR(50))

    INSERT@NumberTable

    SELECT'ABC-1702-XYZ' ItemNumber UNION ALL

    SELECT'ABC-1727-XYZ'UNION ALL

    SELECT'ABC-1729-XYZ'UNION ALL

    SELECT'ABC-895-XYZ'UNION ALL

    SELECT'ABC-2119-XYZ'UNION ALL

    SELECT'ABC-1746-XYZqqqq'UNION ALL

    SELECT'ABC-900-dfdfdfXYZ'UNION ALL

    SELECT'ABCasasa-2215-XYZabc'UNION ALL

    SELECT'ABC-64533333-XYZ'UNION ALL

    SELECT'ABC121-1783-333XYZ'UNION ALL

    SELECT'ABC-2193-XYZ'UNION ALL

    SELECT'ABC-830-XYZ'UNION ALL

    SELECT'ABC-646-XYZ'UNION ALL

    SELECT'ABC-796-XYZ'

    select *

    from @NumberTable

    order by cast (SUBSTRING(

    ItemNumber,

    CHARINDEX('-', ItemNumber) + 1,

    LEN(ItemNumber) - CHARINDEX('-', ItemNumber) - CHARINDEX('-', REVERSE(ItemNumber))) as int)

    ________________________________________________________________
    you can lead a user to data....but you cannot make them think
    and remember....every day is a school day