如何将多列的数据添加到 SQL Server 中的单个列中?
我有类似的列Loc_BldgStreet, Loc_Area, Loc_City, Loc_State, Loc_Country
,我想将它们全部添加到一个列中(在视图中),以便在 gridview(asp.net)中显示它们,就像在单个列中作为完整地址一样,以避免非常宽的网格。
怎么做?我正在使用 linq 从 location_view 绑定网格。
谢谢!
如何将多列的数据添加到 SQL Server 中的单个列中?
我有类似的列Loc_BldgStreet, Loc_Area, Loc_City, Loc_State, Loc_Country
,我想将它们全部添加到一个列中(在视图中),以便在 gridview(asp.net)中显示它们,就像在单个列中作为完整地址一样,以避免非常宽的网格。
怎么做?我正在使用 linq 从 location_view 绑定网格。
谢谢!
+ 号是用于连接 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
您还可以创建一个计算列并将您的连接放置在那里。计算列还可以将函数用于运行总计等,并且不需要额外的视图。
在 SQL 2012 中,您可以使用CONCAT构建单个列。
否则,如其他答案所示,使用“+”操作数。
试试这个:
select isnull(Loc_BldgStreet,'') +
isnull(Loc_Area,'') +
isnull(Loc_City,'') +
isnull(Loc_State,'') +
isnull(Loc_Country,'')
from <your table>