У меня есть столбец DATETIME в таблице SQL Server 2008 под названием ShiftDate. Я хочу преобразовать это в столбец DATE в запросе:
SELECT ID, ScheduleID, ShiftDate, CONVERT(DATE, ShiftDate) AS ProductionDate
FROM dbo.ScheduleResults
Я редактирую этот запрос в SSMS. Если я запускаю запрос в стандартном окне запроса, я не получаю никаких ошибок. Если я запустил это в окне редактора View, я получаю сообщение об ошибке "Can not Call Methods on Date".
Я пробовал метод CAST, но он получил ту же ошибку.
SELECT ID, ScheduleID, ShiftDate, CAST(ShiftDate AS DATE) AS ProductionDate
FROM dbo.ScheduleResults
Полное сообщение об ошибке:
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.
Я склонен думать, что это ошибка в SSMS, но я хотел бы получить некоторую обратную связь от людей StackOverflow о том, как преобразовать столбец datetime в дату. Я могу легко преобразовать его в строковый столбец, но он не идеален, поскольку Excel не увидит его как дату.