首页 > 解决方案 > SQL 创建额外的列,从表的两列中获取数据

问题描述

我有一个查询,其中有两个字段,我想将它们组合为一个新列。在excel上它是这样的

=CONCATENATE([@CompanyID],[@Year],[@month])

但我不知道如何在 sql 上创建这个公式,输出会像

新 ID = 88201911 aka 88=companyID 2019=year 11=month

示例代码

Select 
companyID,
invoicedate,
month(invoicedate) as month,
year(invoicedate) as year,
concat('companyID','month','year')
 from accounting

标签: sql

解决方案


您不能在同一select. 所以你需要重复表达式:

month(invoicedate) as month,
year(invoicedate) as year,
concat(companyID, month(invoicedate), year(invoicedate))

此外,切勿使用单引号来引用列。它们应该只用于字符串和日期常量。


推荐阅读