の列を SQL Server 2012 自体で自動計算することはできますか?
例: と の 3 つの列START_DATE
がEND_DATE
ありDURATION
ます。
これを行うことで期間を取得したい:
DURATION = END_DATE - START_DATE
だから私は日数で期間を取得します。
SQL Server 2012 がレコード作成時に自動的に行うことは可能ですか?
の列を SQL Server 2012 自体で自動計算することはできますか?
例: と の 3 つの列START_DATE
がEND_DATE
ありDURATION
ます。
これを行うことで期間を取得したい:
DURATION = END_DATE - START_DATE
だから私は日数で期間を取得します。
SQL Server 2012 がレコード作成時に自動的に行うことは可能ですか?
テーブル デザインで、(Formula)
必要な結果を得るために、[計算列の仕様] の下にこれらのいずれかを入力します。
日付の違いの場合:
CAST(job_end - job_start) AS TIME(0))
期間の場合:
SUBSTRING(CONVERT(VARCHAR(20),(END_DATE-START_DATE),120),12,8)
Second
同様に、Minute
、 、Hour
、Month
、Year
差を計算できます。
を使用するための構文DATEDIFF
:
DATEDIFF ( datepart , startdate , enddate )
ご参考までに:
DATEDIFF(SECOND, GETDATE(), GETDATE() + 1) AS SecondDifference
DATEDIFF(MINUTE, GETDATE(), GETDATE() + 1) AS MinuteDifference
DATEDIFF(HOUR, GETDATE(), GETDATE() + 1) AS HourDifference
DATEDIFF(DAY, GETDATE(), GETDATE() + 1) AS DayDifference
DATEDIFF(WEEK, GETDATE(), GETDATE() + 1) AS WeekDifference