Можете да използвате стил 121, но можете да имате само 3 цифри за милисекунди (т.е. yyyy-mm-dd hh:mi:ss.mmm(24h)
) формат.
declare @abc varchar(100)='2011-09-26 16:36:57.810'
select convert(datetime,@abc,121)
Така че можете да го сортирате, като ограничите полето varchar до 23 знака, преди да конвертирате като:
declare @abc varchar(100)='2011-09-26 16:36:57.810000'
select convert(datetime,convert(varchar(23),@abc),121)
Или използвайте Left()
функция за получаване на първите 23 знака като:
select convert(datetime,left(@abc,23),121)
Опитайте се да избягвате съхраняването на дата като низ.