Bạn có thể sử dụng kiểu 121 nhưng bạn có thể chỉ có 3 chữ số cho mili giây (tức là yyyy-mm-dd hh:mi:ss.mmm(24h)
) định dạng.
declare @abc varchar(100)='2011-09-26 16:36:57.810'
select convert(datetime,@abc,121)
Vì vậy, bạn có thể sắp xếp nó bằng cách giới hạn trường varchar thành 23 ký tự trước khi chuyển đổi thành:
declare @abc varchar(100)='2011-09-26 16:36:57.810000'
select convert(datetime,convert(varchar(23),@abc),121)
Hoặc sử dụng Left()
hàm lấy 23 ký tự đầu tiên dưới dạng:
select convert(datetime,left(@abc,23),121)
Cố gắng tránh lưu trữ ngày dưới dạng chuỗi.