Если вам действительно нужно, вы можете либо выполнить преобразование в .NET и передать строку, либо вызвать хранимую процедуру, которая получает дату и преобразует ее. Так как он не соответствует ни одному из предопределенных форматов для datetime, вам придется свернуть свой собственный, но это тривиально, если громоздко:
select right('0' + cast(datepart(dd, @dt) as varchar(2)), 2)
+ '/'
+ right('0' + cast(datepart(mm, @dt) as varchar(2)), 2)
+ '/'
+ right(cast(datepart(yyyy, @dt) as varchar(4)), 3) -- are you sure you want yyy and not yyyy?
+ ' '
+ right('0' + cast(datepart(hh, @dt) % 12 as varchar(2)), 2)
+ ':'
+ right('0' + cast(datepart(mi, @dt) as varchar(2)), 2)
+ ':'
+ right('0' + cast(datepart(ss, @dt) as varchar(2)), 2)
+ ' '
+ (case when datepart(hh, @dt) < 12 then 'AM' else 'PM' end)
Тем не менее, я голосую за ответ LittleBobbyTables, так как хранение дат в виде строк в базе данных - очень плохая идея и может вызвать проблемы. Я только подробно описываю, как выполнить преобразование, если вам приходится иметь дело с чужим кодом.