в зависимости от типа, т. Е. «101» может быть опасным, если вы когда-либо работаете на сервере баз данных, не принадлежащем США, поскольку mm и dd будут переключаться. Вероятно, то же самое с использованием типа "3". Если вы знаете, что язык сервера всегда будет одинаковым, эти методы самые простые.
Использование datepart, вероятно, более надежно, но если вы хотите сказать 03/08 вместо 3/08, вы должны обязательно поставить префикс месяца с «0», поэтому
select
right( '00' + convert(varchar(2), datepart( mm, @ddate)), 2) + '/' +
right( convert(varchar(4), datepart( yy, @ddate) ), 2 )