让我们首先从coalesce具有文档记录的使用开始。根据MSDN,coalesce返回它的参数中第一个非空表达式。
例如,
| SELECT COALESCE(NULL, NULL, NULL, GETDATE()) |
对Pivot(透视)使用Coalesce
如果你对AdventureWorks数据库运行下面的语句:
| SELECT Name
FROM HumanResources.Department WHERE (GroupName = 'Executive General and Administration') |

图1
如果你想透视数据,你可以运行下面的命令。
| DECLARE @DepartmentName VARCHAR(1000)
SELECT @DepartmentName = COALESCE(@DepartmentName,'') + Name + ';' FROM HumanResources.Department WHERE (GroupName = 'Executive General and Administration') SELECT @DepartmentName AS DepartmentNames |

图2
使用Coalesce来执行多条SQL语句
如果你可以使用coalesce语句来透视数据,那么就可能通过透视数据和使用一个分号来分隔这些操作从而运行多条SQL语句。假设你想找到Person schema 中任何字段名称为“Name”的字段的值。如果你执行下面的脚本它就起到这种作用。

