Tôi hy vọng sẽ chuyển đổi bảng có trường DATETIMEOFFSET
, xuống trường DATETIME
NHƯNG tính toán lại thời gian bằng cách chú ý đến bù trừ. Điều này, có hiệu lực, chuyển đổi giá trị thành UTC
.Làm cách nào để chuyển đổi Sql Server 2008 DateTimeOffset thành DateTime
ví dụ:
CreatedOn: 2008-12-19 17:30:09.0000000 +11:00
đó sẽ được chuyển đổi để
CreatedOn: 2008-12-19 06:30:09.0000000
hoặc
CreatedOn: 2008-12-19 06:30:09.0000000 + 00:00
< - đó là một DATETIMEOFFSET
, nhưng UTC
.
Cheers :)
Có thể giải thích đối số cuối cùng "1" của CONVERT có nghĩa là gì không? Tất cả các ví dụ của đối số này sử dụng các loại ký tự như đầu ra hoặc kiểu đầu vào. Ở đây chúng ta chuyển đổi datetimeoffset thành datetime. –
Hàm 'convert()' có tham số thứ 3 xác định định dạng cho đầu ra. [https://www.w3schools.com/sql/func_convert.asp](https://www.w3schools.com/sql/func_convert.asp). 1 = "mm/dd/yy" định dạng –
Đối số thứ ba đó thực sự không có ý nghĩa gì đối với chuyển đổi từ 'datetimeoffset' thành' datetime2'. Đó là cho các chuyển đổi 'varchar'. https://docs.microsoft.com/en-us/sql/t-sql/functions/cast-and-convert-transact-sql (cũng là W3Schools? nhiều tùy chọn tốt hơn bây giờ!) – brianary