Możesz użyć stylu 121, ale możesz mieć tylko 3 cyfry dla milisekund (np. yyyy-mm-dd hh:mi:ss.mmm(24h)
).
declare @abc varchar(100)='2011-09-26 16:36:57.810'
select convert(datetime,@abc,121)
Możesz więc uporządkować to, ograniczając pole varchar do 23 znaków przed konwersją jako:
declare @abc varchar(100)='2011-09-26 16:36:57.810000'
select convert(datetime,convert(varchar(23),@abc),121)
Lub użyj Left()
funkcja, aby uzyskać pierwsze 23 znaki jako:
select convert(datetime,left(@abc,23),121)
Staraj się unikać przechowywania daty jako ciągu.