• A new function is available: FORMAT

    declare @d datetime = '2016-05-01';

    SELECT FORMAT( @d, 'dd/MM/yyyy', 'en-US' ) AS 'DateTime Result'

    SELECT FORMAT( @d, 'dd', 'en-US' ) AS 'DateTime Result'

    - BUT:

    Steer clear away from it. People with gazillion bragging points on this forum have cautioned that this is a performance killer if you want your solution to scale.

    So yes, it is unfortunate, but the way to do it is to deal with strings. T-SQL is not really meant to be a formatting tool - such code is often moved to the reporting tool.