要将您的varchar转换为datetime,如果使用2012+版本,则建议使用Try_Convert(),否则只需使用Convert()即可,前提是您的数据合理。
try_convert(datetime,Timestr,103) -- returns 2016-12-28 16:39:01.000
Declare @Timestr varchar(25) = '28/12/2016 16:39:01'
Select DateTime12 = format(try_convert(datetime,@Timestr,103),'yyyy-MM-dd hh:mm:ss tt')
,DateOnly = format(try_convert(datetime,@Timestr,103),'yyyy-MM-dd')
,Time12 = format(try_convert(datetime,@Timestr,103),'hh:mm:ss tt')
,Time24 = format(try_convert(datetime,@Timestr,103),'HH:mm:ss')
DateTime12 DateOnly Time12 Time24
2016-12-28 04:39:01 PM 2016-12-28 04:39:01 PM 16:39:01