【问题标题】:SQL Server, how to merge two columns into one column?SQL Server,如何将两列合并为一列?
【发布时间】:2014-10-02 04:27:20
【问题描述】:

我有一个 SQL 查询

SELECT TABLE_SCHEMA + TABLE_NAME AS ColumnZ 
FROM information_schema.tables

我希望结果应该是table_Schema.table_name

请帮帮我!!

【问题讨论】:

  • 使用SELECT TABLE_SCHEMA + '.' + TABLE_NAME ....

标签: sql sql-server calculated-columns


【解决方案1】:

试试这个:

SELECT TABLE_SCHEMA + '.' + TABLE_NAME AS ColumnZ 
FROM information_schema.tables

【讨论】:

  • 谢谢。非常简单的 '+' 运算符将 coumn 合并到单列中
【解决方案2】:
SELECT CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS ColumnZ FROM information_schema.tables

【讨论】:

  • 注意:CONCAT 是 SQL Server 2012 中的新功能,因此询问的人可能无法使用
  • @marc_s 我不知道这个,如果我不得不使用旧的 MSSQL 版本,它会很有用,谢谢。
  • 在我看来,作为一项新功能并不会让答案值得一票否决。
  • @GordonLinoff:绝对清楚 - 这不是我的反对意见;我同意你的看法——这是一项新功能,但它是正确的——适用于较新版本的 SQL Server。没有必要投反对票...
【解决方案3】:

这段代码适合你试试这个....

SELECT Title,
FirstName,
lastName, 
ISNULL(Title,'') + ' ' + ISNULL(FirstName,'') + ' ' + ISNULL(LastName,'') as FullName 
FROM Customer

【讨论】:

    【解决方案4】:

    从 SQL Server 2017 开始,有 CONCAT_WS 运算符,用于与分隔符连接。

    SELECT CONCAT_WS('.', TABLE_SCHEMA ,TABLE_NAME) AS ColumnZ 
    FROM information_schema.tables
    

    【讨论】:

      猜你喜欢
      • 2020-04-24
      • 2012-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多