0

如何将多列的数据添加到 SQL Server 中的单个列中?

我有类似的列Loc_BldgStreet, Loc_Area, Loc_City, Loc_State, Loc_Country,我想将它们全部添加到一个列中(在视图中),以便在 gridview(asp.net)中显示它们,就像在单个列中作为完整地址一样,以避免非常宽的网格。

怎么做?我正在使用 linq 从 location_view 绑定网格。

谢谢!

4

3 回答 3

2

+ 号是​​用于连接 SQL 中的字符串的符号。

col1 + col2 as Colname

如果其中一列恰好是数字(即 int),则使用 convert 或 cast

col1 + convert(varchar(10), col2) as Colname

如果其中一列允许 null,则需要使用 IsNull,否则,整个字符串将返回 null:

col1 + isnull(col2, '') as Colname

创建视图:

CREATE VIEW dbo.MyView
AS

SELECT col1, col2, col3 + col4 + col5 as NewColName
FROM dbo.MyTable
GO

您还可以创建一个计算列并将您的连接放置在那里。计算列还可以将函数用于运行总计等,并且不需要额外的视图。

于 2012-08-21T11:39:51.953 回答
2

在 SQL 2012 中,您可以使用CONCAT构建单个列。

否则,如其他答案所示,使用“+”操作数。

于 2012-08-21T11:41:16.810 回答
1

试试这个:

select isnull(Loc_BldgStreet,'') +
       isnull(Loc_Area,'') +
       isnull(Loc_City,'') +
       isnull(Loc_State,'') + 
       isnull(Loc_Country,'')
from <your table>  
于 2012-08-21T11:39:43.080 回答