用Coalesce函数代替"when ...else"
在sql server 2000/sql server 2005中,当我们想查找一个非空的值时,我们可以利用Coalesce函数来取代常用的"select ...case when.. else"语句。
假设我们想查找到一个可用的"source“时,我们一般会这样写T-Sql 语句:
SELECT TheSource =
CASE
WHEN localSource IS NOT NULL THEN localSource
WHEN intranetSource IS NOT NULL THEN intranetSource
WHEN internetSource IS NOT NULL THEN internetSource
ELSE ''
END
FROM ...
现在我们利用Coalesce函数来重写上面的T-sql语句:
SELECT TheSource =
COALESCE(localSource, intranetSource, internetSource, '')
FROM ...
假设我们想查找到一个可用的"source“时,我们一般会这样写T-Sql 语句:
SELECT TheSource =
CASE
WHEN localSource IS NOT NULL THEN localSource
WHEN intranetSource IS NOT NULL THEN intranetSource
WHEN internetSource IS NOT NULL THEN internetSource
ELSE ''
END
FROM ...
现在我们利用Coalesce函数来重写上面的T-sql语句:
SELECT TheSource =
COALESCE(localSource, intranetSource, internetSource, '')
FROM ...
浙公网安备 33010602011771号