4

の列を SQL Server 2012 自体で自動計算することはできますか?

例: と の 3 つの列START_DATEEND_DATEありDURATIONます。

これを行うことで期間を取得したい:

DURATION = END_DATE - START_DATE

だから私は日数で期間を取得します。

SQL Server 2012 がレコード作成時に自動的に行うことは可能ですか?

4

2 に答える 2

0

テーブル デザインで、(Formula)必要な結果を得るために、[計算列の仕様] の下にこれらのいずれかを入力します。

日付の違いの場合:

CAST(job_end - job_start) AS TIME(0))

期間の場合:

SUBSTRING(CONVERT(VARCHAR(20),(END_DATE-START_DATE),120),12,8)

Second同様に、Minute、 、HourMonthYear差を計算できます。

を使用するための構文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
于 2016-06-13T13:04:21.923 に答える