研究一个练习题“数据库中每个月/年组合的交易表的saledate列中有多少个不同的日期?”我发现一个有效的查询,显然是结合了YEAR和MONTH

SELECT DISTINCT (extract(year from saledate) || extract(month from saledate)) as SaleDate
FROM trnsact
ORDER BY SaleDate;


但是||这不是我们学到的东西,我在任何地方都找不到语法,描述或示例。有人可以解释一下吗?

最佳答案

||是字符串连接命令。在此查询中,您给我们的是数字,将其转换为字符串,然后将其串联。

恐怕该解决方案是有效的。

另一个解决方案是:

select extract( year from saledate) as year_num,
       extract( month from saledate) as month_num
  from trnsact
group by extract( year from saledate ),
         extract( month from saledate);

10-08 00:11