0

クエリに日時フィールドがあります。

Select Account, Period, JEDate
From table

「JEDate」日時フィールドの年をパラメーター「@Year」(int) に置き換えたいと思います。また、月を「期間」(int)フィールドに置き換えたいと思います。

例: JEDate が 1900-01-01 00:00:00.000 (またはその他の日付) で、年が 2013 年で月が 2 だった場合、JEDate を 2013-02-01 00:00:00.000 にしたいと思います。 .

どうすればいいですか?

ありがとうございました

4

2 に答える 2

1

多分:

UPDATE dbo.TableName
SET JEDate = CONVERT(DATETIME, CAST(@Year as varchar(4)) + '-' + CAST(Period as VARCHAR(2)) + '-' + '01', 102)
WHERE JEDate IS NOT NULL

Demo

于 2013-09-18T13:19:24.330 に答える
0

元の年と月と新しい年と月の差を追加する別のアプローチ:

select dateadd(year, @year-Year(JEDATE), dateadd(month, Period-Month(JEDATE), JEDATE))

于 2013-09-18T13:45:05.607 に答える