Как и в моем комментарии, я бы посоветовал вам не делать этого.
SQL Server - это место для данных, а преобразование данных для целей отображения часто представляет собой размытие линий, которые могут преследовать вас. (Один пример; что если вам понадобится это время как Время где-то еще в будущем. Собираетесь ли вы снова преобразовать его из строки?)
Если это необходимо, то вам придется выполнить часть форматирования самостоятельно.
SELECT
RIGHT(CONVERT(VARCHAR(26), GETDATE(), 109), 14)
Или, более грязный ...
SELECT
DATEPART(HOUR, GETDATE()) + ':' +
DATEPART(MINUTE, GETDATE()) + ':' +
DATEPART(SECOND, GETDATE()) + '.' +
DATEPART(MILLISECOND, GETDATE()) +
CASE WHEN DATEPART(HOUR, GETDATE()) < 12 THEN 'AM' ELSE 'PM' END
Я сказал? Вы лучше делаете это на стороне клиента;)