如何检查日期是否与另一列中的日期在同一个月内 SQL BQ
我的BQ表中有两个日期字段。一个是 start_date
,另一个是 end_date
。这两个列的数据类型是: date
。数据看起来像这样:
start_date end_date
2022-02-28 2022-02-28
2022-02-28 2022-03-01
2022-03-01 2022-03-02
2022-03-01 2022-04-01
我需要创建一个新列,并检查两个日期是否在同个月内。值将是“是”和“否”。是的,如果两个日期在同个月内,则否。 这是所需的输出:
start_date end_date outcome
2022-02-28 2022-02-28 yes
2022-02-28 2022-03-01 no
2022-03-01 2022-03-02 yes
2022-03-01 2022-04-01 no
我尝试了:
select
case
when (DATE(start_date)) = (
DATE(end_date),
INTERVAL 1 MONTH
)
) then 'yes'
else 'no'
end as outcome
FROM
my_bq_table
遇到一个错误: ocerator = for Crignt类型没有匹配的签名:日期,struct< date,Interval>。支持的签名:任何=任何
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

我建议使用“提取”来完成此任务。请参阅下面。
架构(MySQL V8.0)
查询#1
<="" a="">
I'd propose using 'extract' to accomplish this task. Please see below.
Schema (MySQL v8.0)
Query #1
View on DB Fiddle