• The only thing I could think of is the size of the datatype used and I don't think that would have any noticeable difference on the speed.

    Having a look at the plans of the the three options ... OVER (ORDER BY (SELECT NULL))

    ... OVER (ORDER BY (SELECT 0)) have a compute scalar with a data size of 110B, while

    ... OVER (ORDER BY (SELECT $))has a data size of 150B.

    Using ... OVER (ORDER BY (SELECT CAST(0 AS BIT)) has a data size of 90B.

    And in the category of just plain silly ... OVER (ORDER BY (SELECT 'I can''t think of anything better to put in here too

    cause this to be a string larger in bytes than I would expect the previous examples

    to have, so I''ll just keep on typing until the carpel tunnel sets i'))

    the size balloons out to 1,140B including the carriage returns:-)