我有一個數據庫視圖,其中一列是基於標量函數(我知道,壞主意)的結果。函數返回值將空值轉換爲空字符串,但是,如果沒有返回值,我的視圖需要顯示空值。 case語句的語法文檔似乎沒有爲我提供答案。我的「一廂情願」的解決方案將是給函數調用的別名,然後引用該別名的case語句,像這樣:如何在case語句中使用函數調用而不多次調用函數
SELECT
p.Name,
CASE GetWinningTeam(p.id, 'WON') AS Winner
WHEN '' THEN NULL
ELSE Winner
END as WinningTeam
FROM
Projects p
,而不是
SELECT
p.Name,
CASE GetWinningTeam(p.id, 'WON')
WHEN '' THEN NULL
ELSE GetWinningTeam(p.id, 'WON')
END as WinningTeam
FROM
Projects p
然而,這不是有效的語法。有沒有辦法使用case語句或任何其他解決方案對每條記錄進行一次函數調用?
是,亞歷克斯,這正是我需要的。我過度考慮解決方案! – Brian