2026-08-10

SQL Server ,僅修改時間欄位的年/月/日

假設我的 table 如下

id foo_date ……
123 2020-01-05 ……
124 2020-02-16 ……
125 2020-11-21 ……

如果我要更新 foo_date,將月份改成 6 月,則可以

UPDATE MyTable
SET foo_date = DATETIMEFROMPARTS(
	YEAR(foo_date),
	6,
	DAY(foo_date),
	DATEPART(HOUR, foo_date),
	DATEPART(MINUTE, foo_date),
	DATEPART(SECOND, foo_date),
	DATEPART(MILLISECOND, foo_date)
)
WHERE id IN (124, 125);

則資料會變成

id foo_date ……
123 2020-01-05 ……
124 2020-06-16 ……
125 2020-06-21 ……

參考資料

  • 詢問 ChatGPT 後,經自己驗證

沒有留言:

張貼留言