ShiftDate という SQL Server 2008 テーブルに DATETIME 列があります。これをクエリの DATE 列に変換したい:
SELECT ID, ScheduleID, ShiftDate, CONVERT(DATE, ShiftDate) AS ProductionDate
FROM dbo.ScheduleResults
このクエリを SSMS で編集しています。標準のクエリ ウィンドウでクエリを実行すると、エラーは発生しません。ビュー エディター ウィンドウでこれを実行すると、「日付のメソッドを呼び出すことができません」というエラーが表示されます。
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 のバグだと思う傾向がありますが、datetime 列を日付に変換する方法について、StackOverflow 関係者からフィードバックを得たいと考えています。簡単に文字列列に変換できますが、Excel では日付として認識されないため、理想的ではありません。