Вам нужен пробел и двоеточие. Я не уверен, почему вы хотите сделать это, хотя ... представьте дату в формате на вашем внешнем интерфейсе (уровне представления) и сохраните даты как даты или время в базе данных, и вы не столкнетесь с этой проблемой: )
SELECT CONVERT(VARCHAR(MAX), CAST('20090104 14:21' AS DATETIME))
Кроме того, нет необходимости использовать MAX
здесь. Это пустая трата хранения. Нечто подобное имеет больше смысла.
SELECT CONVERT(VARCHAR(24), CAST('20090104 14:21' AS DATETIME), 113)
Использование имени столбца ...
SELECT CONVERT(VARCHAR(24), CAST(YourColumnName AS DATETIME), 113)
FROM YourTable
Вы можете увидеть другие преобразования здесь