Tôi đang sử dụng SQL Server 2012 Express. Cơ sở dữ liệu có một bảng [config] với một thành viên kiểu 'datetime'. Xuất nó (chỉ dữ liệu) của Management Studio dưới dạng tập lệnh SQL tạo ra:MS SQL Server 2012 xuất datetime dưới dạng tập lệnh mà nó không thể nhập
INSERT [dbo]. [Config] ([id], [name], [creation_date], ...) VALUES (13, N'Test ', CAST (N'2014-11-17 09: 29: 07.047' AS DateTime), ...)
Bây giờ khi thực thi tập lệnh được tạo, nó phàn nàn rằng giá trị cho loại ngày giờ không hợp lệ. Tôi có thể khắc phục bằng cách thay thế khoảng trống giữa ngày và giờ bằng "T":
INSERT [dbo]. [Config] ([id], [name], [creation_date], ...) VALUES (13, N'Test ', CAST (N'2014-11-17 T 09: 29: 07.047' AS DateTime), ...)
Tìm hiểu về định dạng ngày giờ, định dạng bằng cách sử dụng trống dường như không được hỗ trợ.
Làm cách nào để tạo tập lệnh có định dạng ngày giờ được hỗ trợ (tức là bao gồm 'T')?
Làm cách nào để nhập định dạng sử dụng trống mà không thay đổi tập lệnh được nhập?
BTW, có vẻ như nó hoạt động trên các cài đặt SQL Server khác, nhưng tôi không thể tìm thấy sự khác biệt. Cũng gỡ bỏ cài đặt và cài đặt lại SQL Server đã không giúp đỡ.
Loại định dạng ngày giờ nào được chấp nhận được kiểm soát bởi Cài đặt vùng trong Windows trên máy chủ. Có lẽ các cài đặt SQL Server khác (trên các máy chủ khác) có các Cài đặt vùng khác. –
Điều này hiện đã được khắc phục trong SQL Server 2014, nhưng đối với SQL Server 2012, bạn sẽ cần dòng Mikael gợi ý –