是否有可能在更新查詢中使用case語句?我需要做這樣的事情:如果人名以'S'開頭,則追加'1',否則追加'2'。在更新查詢中使用case語句
我在SQL Server嘗試這樣做,也沒有工作
UPDATE PERSON CASE WHEN NAME LIKE 'S%' THEN SET NAME = NAME + '1' ELSE SET NAME = NAME + '2' END
是否有可能在更新查詢中使用case語句?我需要做這樣的事情:如果人名以'S'開頭,則追加'1',否則追加'2'。在更新查詢中使用case語句
我在SQL Server嘗試這樣做,也沒有工作
UPDATE PERSON CASE WHEN NAME LIKE 'S%' THEN SET NAME = NAME + '1' ELSE SET NAME = NAME + '2' END
我想補充一個稍微不同的變種,我傾向於選擇(個人喜好)。
UPDATE Person
SET Name = Name + CASE WHEN Name LIKE 'S%' THEN '1' ELSE '2' END
我喜歡這個,因爲它節省重複「姓名+」位爲每個條件 - 在這種情況下,它沒有大的,但是在更多的條件的其他方案,這可能過於重複
CASE WHEN
返回表達式,而不是一個聲明。您可以使用它像這樣:
UPDATE PERSON SET NAME = CASE WHEN NAME LIKE 'S%' THEN NAME + '1' ELSE NAME + '2' END
這將是:
update person
set name = case when name left(name,1) = 'S' then name + '1' else name + '2' end