如何在SQL中将YYYYQ转换为YYYYMMDD

如何在SQL中将YYYYQ转换为YYYYMMDD,sql,Sql,我想将格式YYYYQ转换为YYYYMMDD,例如: 20132至20130601 我试着用这个公式:concat(年,'0',季度*3,'01')作为日期 但是,将为所有第4季度添加一个额外的“0”,例如,公式将从20144变为201401201,但我需要输出20141201 有什么建议吗?用一个箱子怎么样 select (case when quarter = 1 then concat(year, '0101') when quarter = 2 then conc

我想将格式YYYYQ转换为YYYYMMDD,例如:

20132
20130601

我试着用这个公式:
concat(年,'0',季度*3,'01')作为日期

但是,将为所有第4季度添加一个额外的“0”,例如,公式将从20144变为201401201,但我需要输出
20141201


有什么建议吗?

用一个
箱子怎么样

select (case when quarter = 1 then concat(year, '0101')
             when quarter = 2 then concat(year, '0401')
             when quarter = 3 then concat(year, '0701')
             when quarter = 4 then concat(year, '1001')
        end)

我不确定你用什么逻辑来表示季度,但对于典型的定义,它们从1月1日、4月1日、7月1日和10月1日开始。这很容易根据其他定义进行调整。

用您正在使用的数据库标记您的问题。另外,您的示例格式建议您有一个字符串,但代码建议有两列。您使用的是哪一列?“SQL”只是一种查询语言,而不是特定数据库产品的名称。请为您正在使用的数据库产品添加标签,
postgresql
oracle
db2
sqlserver
。。。