postgresql 视图中日期类型的语法无效

4szc88ey  于 2024-01-07  发布在  PostgreSQL
关注(0)|答案(1)|浏览(173)

我有一个视图,其中包含另一个由UNION ALL连接的多个视图。今天我试图运行这个查询:

select distinct statistics_source, join_id,
                sum(media_publisher_budget_fact) as performance_product_budget_fact
from cs_fact.cs_fact_all cfa 
where statistics_date = '2023-10-20'
group by 1,2

字符串
我犯了一个错误:
SQL错误[22007]:错误:日期类型的语法无效:“1877”
statistics_date的类型为date
我试图通过这个查询(以及许多类似的查询)找到包含1877的这一行:

select distinct statistics_source, join_id,
                sum(media_publisher_budget_fact) as performance_product_budget_fact
from cs_fact.cs_fact_all cfa 
where statistics_date::text = '1877'
group by 1,2


但这些查询不工作,也抛出这个错误。当我试图运行select * from cs_fact.cs_fact_all-没有错误。当我从原始查询中删除where statistics_date ...-查询也完成。
如何找到该行并修复错误?此视图大约有50 mil行。

mpbci0fu

mpbci0fu1#

使用EXTRACT()获取年份:

SELECT statistics_source
     , join_id
     , SUM(media_publisher_budget_fact) AS performance_product_budget_fact
FROM cs_fact.cs_fact_all cfa 
WHERE EXTRACT(YEAR FROM statistics_date) = 1877
GROUP BY 1,2;

字符串

相关问题