您的位置:首页 > 数据库

拼接SQL查询结果字符串输出

2010-08-10 14:17 323 查看
在SQL查询中,我们如果想把查询到的结果集以字符串的形式输出,例如:查询Northwind数据库里的Employees,我们希望返回的结果是 {Address | BirthDate | City | Country | EmployeeID | Extension | FirstName | HireDate | HomePhone | LastName | Notes | Photo | PhotoPath | PostalCode | Region | ReportsTo | Title | TitleOfCourtesy | }格式的.

我们可以这样做

 

declare @columns nvarchar(4000)
set @columns = ''
select @columns = @columns + name + ' | ' from syscolumns where id = object_id('表名')
print @columns


上面对变量 @columns 进行赋空值{set @columns = ''},那为什么要对@columns进行赋值呢?在SQL(SQL Server2005)里,声明一个变量(如果没有初始化)它的默认值是NULL,NULL值是一个未知的一个值,它和空值 {' '}不同.所有值加上NULL值其结果都为NULL,这就说明了为什么我们要事先给@columns赋值.

当然我们也可以这样写

 

declare @columns nvarchar(4000)
select @columns = isnull(@columns,'') + name + ' | ' from syscolumns where id = object_id('表名')
print @columns


道理也是一样的,我们在给@columns赋值的时候Check它是否是NULL值,并采取用空值{' '}替换的方式来解决这个问题.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐