web-dev-qa-db-ja.com

Accessから移行したSQL Serverの日時フィールドを合計できません

私はここで新しく、SQL Server(Express)を初めて使用します。 SSMAツールを使用して、Accessの日付/時刻フィールドをdatatime2に変換しました。データには期間データが含まれているため、日付は必要ありません。列を合計したいのですが、SUMを実行すると8117#エラーが発生するため、時間または数値データ型に変更する必要があります。 SQL Serverでは、常に暗黙的/明示的な変換エラーが発生するため、デザイナー/ ALTERコマンドを使用した変換は許可されません。あなたが提供しなければならない可能性のある解決策をありがとう。

3
AlienV

おそらく、新しい列には1-Jan-1900に関連する特定の日時またはその他の日付の値が含まれています。

...この場合、列の名前を変更し、秒数(または分または任意の粒度)である元の列名を使用して計算列を作成できるため、代わりにそれを合計できます。

例:

SELECT t = DATEADD(SECOND, SUM(DATEDIFF(SECOND, '19000101', myTimeColumn)), '19000101')
FROM dbo.someTable;
4
Rob Farley