我有一个表,日期列是INT格式为"yyyy/MM/dd"
。我需要有两个单独的查询。第一个需要从今年年初到当天拉数据,第二个查询需要从上一年拉数据到上一年的相应日期。
例如
Query1 = (01 January 2023 to 15 November 2023)
Query2 = (01 January 2022 to 15 November 2022)
字符串
我试
date_parse(cast(tbl_dt as varchar), '%Y%m%d') > date(current_date) - interval '365' day
型
但这需要过去的365天
我还尝试了where tbl_dt> 20230101
,但这基本上是硬编码的,我需要每年更改查询。
1条答案
按热度按时间cetgtptt1#
您可以通过转换为
112
日期格式,即yyyyMMdd,将筛选日期转换为INT。字符串
这将为您提供给予:
20231115
因此,您可以生成INT来进行过滤,而不是将每个INT转换为日期来过滤它们。
从长远来看.
要在查询中使用此转换,
WHERE
子句应为:型
这是两个日期的 * 不包括 *,而不是 * 包括 *。