SQL Server 2008中REPLACE语句中的CASE语句?

时间:2012-06-04 12:12:08

标签: sql-server-2008 sql-server-2005 replace case

我有3个变量,当@path不是NULL时,它们是有条件的 @serverName,@analysisDB,@cubeName。因此,我在上面的CASE语句中使用了SELECT语句。类似地,对于@path不为NULL,@cubename也需要是LVL5.L5_CubeName的条件(请参阅REPLACE语句),但它在REPLACE语句中并且{ {1}}块变得太复杂了。如果我想做像

这样的事情,我该怎么写呢
CASE

1 个答案:

答案 0 :(得分:0)

这样的事情:

CASE WHEN @path is not null or @path != '' 
THEN REPLACE(REPLACE(REPLACE(LVL5.L5_MDXQuery,'@@Level1',
ISNULL(@lvl1DataVal,'')),'@@Level2',ISNULL(@lvl2DataVal,'')),'@@CubeName',
ISNULL(@cubeName,'')) [MDXQuery]
ELSE Somethingelse END cubedata