我正在学习SQL。我的搜索没有结果,因为我不认为我使用了正确的术语。
我在PostgreSQL中有一个带有datetime列的表。我想做的是在结果集中创建一个列,输出如下:Q2/'22
或Q4/'23
。
我试过使用+
,但不起作用(我得到一个错误)。我不知道如何继续下去。在SQL中有办法吗?
SELECT
name, COUNT(name),
DATE_TRUNC('quarter', date) AS quarterview,
CASE
WHEN DATE_TRUNC('quarter', date) = '2022-04-01 00:00:00'
THEN EXTRACT(quarter FROM DATE_TRUNC('quarter', date)) + '/\'' + EXTRACT(year FROM DATE_TRUNC('year', date))
END
FROM
mytable
字符串
有没有更好的方法来做到这一点?否则我将不得不为每个季度和每年写案例。
同样在case语句中,我试图使用别名“quarterview”,但得到一个错误,说“quarterview”不是一个列。有没有一种方法可以使用别名而不是多次写入DATE_TRUNC
?
1条答案
按热度按时间drkbr07n1#
我们可以像下面这样使用
TO_CHAR
函数和字符串连接来检查这个字符串