【问题标题】:Add data from multiple colums to one column in SQL Server将数据从多列添加到 SQL Server 中的一列
【发布时间】:2012-08-21 11:36:16
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

    标签: asp.net sql-server linq sql-server-2008 linq-to-sql


    【解决方案1】:

    + 号用于在 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
    

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

    【讨论】:

    • 谢谢克里斯!这很有帮助!
    【解决方案2】:

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

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

    【讨论】:

    • 我相信这只有在他们使用 sql-server 2012 时才有效
    【解决方案3】:

    试试这个:

    select isnull(Loc_BldgStreet,'') +
           isnull(Loc_Area,'') +
           isnull(Loc_City,'') +
           isnull(Loc_State,'') + 
           isnull(Loc_Country,'')
    from <your table>  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-30
      • 2022-01-20
      • 2021-12-07
      • 1970-01-01
      • 1970-01-01
      • 2012-05-07
      • 1970-01-01
      • 2019-05-08
      相关资源
      最近更新 更多