CONCAT 或 APPEND T-SQL 中的两个别名列
Posted
技术标签:
【中文标题】CONCAT 或 APPEND T-SQL 中的两个别名列【英文标题】:CONCAT or APPEND two Alias columns in T-SQL 【发布时间】:2020-05-16 20:46:02 【问题描述】:SELECT RIGHT(EVAL,2) AS MONTH, EVAL, LEFT(EVAL,4) AS YEAR,
CASE
WHEN RIGHT(EVAL,2) < 04 THEN 'Q1'
WHEN RIGHT(EVAL,2) BETWEEN '04' AND '06' THEN 'Q2'
WHEN RIGHT(EVAL,2) BETWEEN '06' AND '09' THEN 'Q3'
WHEN RIGHT(EVAL,2) BETWEEN '09' AND '12' THEN 'Q4'
END AS QTR
FROM [CREDIT CARD]
目前的输出
MONTH EVAL YEAR QTR
07 201807 2018 Q3
预期输出
MONTH EVAL YEAR QTR EVALQTR
07 201807 2018 Q3 2018Q3
EVAL 是格式为 201802、201904 的期间。我将 EVAL 分解为月、年和季度(大小写)。 我希望最终输出为 YEAR+Quarter,即 2019Q2、2018Q1。我无法追加或连接 YEAR 和 QTR 列,因为它们是别名。每次我使用 concat 或 append 函数都会得到 YEAR 和 QTR 是无效列的错误。需要解决方案吗?
【问题讨论】:
【参考方案1】:这似乎最简单:
select concat(left(eval, 4), 'Q',
datename(quarter, convert(date, eval + '01'))
) as evalqtr
Here 是一个 dbfiddle。
【讨论】:
以上是关于CONCAT 或 APPEND T-SQL 中的两个别名列的主要内容,如果未能解决你的问题,请参考以下文章
pandas.concat 和 numpy.append 的大型数据集的内存错误
pandas.concat 和 numpy.append 的大型数据集的内存错误
java语言:String类的concat方法与StringBuffer类的append方法区别?内存状态?