Tôi đã có cột DATETIME trong bảng SQL Server 2008 có tên là ShiftDate. Tôi muốn chuyển đổi cột này thành cột DATE trong truy vấn:Máy chủ SQL không thể gọi phương thức vào ngày
SELECT ID, ScheduleID, ShiftDate, CONVERT(DATE, ShiftDate) AS ProductionDate
FROM dbo.ScheduleResults
Tôi đang chỉnh sửa truy vấn này trong SSMS. Nếu tôi chạy truy vấn trong cửa sổ truy vấn chuẩn, tôi sẽ không gặp bất kỳ lỗi nào. Nếu tôi chạy điều này trong cửa sổ Trình chỉnh sửa chế độ xem, tôi gặp lỗi "Không thể gọi phương thức vào ngày".
Tôi đã thử phương pháp CAST nhưng nó bị lỗi tương tự.
SELECT ID, ScheduleID, ShiftDate, CAST(ShiftDate AS DATE) AS ProductionDate
FROM dbo.ScheduleResults
Thông báo lỗi đầy đủ là:
Executed SQL statement: SELECT ID, ScheduleID, ShiftDate, CAST(ShiftDate as DATE).ToString() AS ProductionDate FROM dbo.ScheduleResults
Error Source: .Net SqlClient Data Provider
Error Message: Cannot call methods on date.
Tôi có khuynh hướng nghĩ rằng đây là một lỗi trong SSMS, nhưng tôi muốn để có được một số thông tin phản hồi từ folks StackOverflow như thế nào để chuyển đổi một datetime vào một ngày. Tôi có thể dễ dàng chuyển đổi nó thành một cột chuỗi, nhưng nó không phải là lý tưởng như Excel sẽ không nhìn thấy nó như là một ngày.
Không sử dụng các nhà thiết kế trực quan như trình chỉnh sửa chế độ xem. Họ rất ngột ngạt và đầy lỗi. Viết mã CREATE VIEW của bạn trong cửa sổ truy vấn thông thường. –