• I'd suggest using COALESCE also, keeping in mind the difference between it and ISNULL in regard to data types.

    Given that, in this case you could explicitly CAST the 99 to smallint so the datatypes are identical, as below, which should avoid any implicit conversions:

    ORDER BY COALESCE(SectionOrder, CAST(99 AS smallint));

    SQL DBA,SQL Server MVP(07, 08, 09) A socialist is someone who will give you the shirt off *someone else's* back.