是否可以將此查詢合併到一個UPDATE語句中?將兩個UPDATE語句與一個SET語句與WHERE子句和一個SET結合使用
UPDATE [dbo].[MyTable]
SET Column1 = Column2
UPDATE [dbo].[MyTable]
SET Column3 = 1
WHERE Column1 IS NOT NULL
謝謝。
是否可以將此查詢合併到一個UPDATE語句中?將兩個UPDATE語句與一個SET語句與WHERE子句和一個SET結合使用
UPDATE [dbo].[MyTable]
SET Column1 = Column2
UPDATE [dbo].[MyTable]
SET Column3 = 1
WHERE Column1 IS NOT NULL
謝謝。
UPDATE [DBO].[MyTable]
SET Column1 = Column2,
Column3 = (
CASE
WHEN Column1 IS NOT NULL
THEN 1
ELSE Column3
END)
這應該爲你工作:
UPDATE [dbo].[MyTable]
SET Column1 = Column2
,Column3 =
case
when Column1 IS NOT NULL THEN 1
else Column3
end
當'Column1'爲空時,這會導致'Column3'被設置爲'NULL'。 –
在Column1不爲null的情況下,您將Column3設置爲null –
@Lesya感謝您的好眼睛 - 急於回答。答案已更新。 –
您正在使用什麼數據庫管理系統? –
這取決於 - 第二個語句中的Column1檢查是否意味着在第一個語句執行後的最後一個狀態是「Column1」還是意味着該時間之前的狀態? –
T-SQL,SQL-server 2012以及之前的版本。 –