Mam kolumnę DATETIME w tabeli SQL Server 2008 o nazwie ShiftDate. Chcę przekonwertować to na kolumnę DATE w zapytaniu:Serwer SQL nie może wywoływać metod Data
SELECT ID, ScheduleID, ShiftDate, CONVERT(DATE, ShiftDate) AS ProductionDate
FROM dbo.ScheduleResults
Edytuję to zapytanie w SSMS. Jeśli uruchomię zapytanie w standardowym oknie zapytania, nie otrzymam żadnych błędów. Jeśli uruchomię to w oknie edytora widoku, pojawia się błąd "Nie można wywołać metody na datę".
Próbowałem już metody CAST, ale wystąpił ten sam błąd.
SELECT ID, ScheduleID, ShiftDate, CAST(ShiftDate AS DATE) AS ProductionDate
FROM dbo.ScheduleResults
Pełny komunikat o błędzie:
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.
Jestem skłonny sądzić, że jest to błąd w SSMS, ale chciałbym, aby uzyskać pewne informacje zwrotne od ludzi stackoverflow, jak przekonwertować datetime kolumna do daty. Mogę łatwo przekonwertować go na kolumnę ciąg, ale nie jest idealny, ponieważ Excel nie zobaczy go jako datę.
Nie używaj projektantów wizualnych, takich jak edytor widoków. Są przerażające i pełne błędów. Napisz swój kod CREATE VIEW w zwykłym oknie zapytania. –