Můžete použít styl 121, ale můžete mít pouze 3 číslice pro milisekundy (tj. yyyy-mm-dd hh:mi:ss.mmm(24h)
) formát.
declare @abc varchar(100)='2011-09-26 16:36:57.810'
select convert(datetime,@abc,121)
Můžete to tedy vyřešit omezením pole varchar na 23 znaků před převodem jako:
declare @abc varchar(100)='2011-09-26 16:36:57.810000'
select convert(datetime,convert(varchar(23),@abc),121)
Nebo použijte Left()
funkce získat prvních 23 znaků jako:
select convert(datetime,left(@abc,23),121)
Snažte se vyhnout ukládání data jako řetězce.