将字符转换为日期并提取过去两年的数据

问题描述 投票:0回答:2

我需要从具有数百万行的表中提取数据并将其限制为过去两年。我正在开发一个 SQL 语句来进入 Power BI 以限制它提取的内容。显然我是新手,但我无法弄清楚这一点,并且所有建议的方法都不适合我。我也不清楚如何转换、限制和提取该表中的所有数据。

LOADED_DATE 列是 char(8),所以首先我使用 TO_DATE 来转换它,如您所见,但我不确定我缺少什么。

SELECT TO_DATE(LOADED_DATE, 'YYYYMMDD')
FROM ELLIPSE.MSF26A
WHERE LOADED_DATE >= ADD_MONTHS(SYSDATE,-24)

SQL 错误 [1861] [22008]:ORA-01861:文字与格式不匹配 字符串

sql oracle powerbi
2个回答
0
投票

您正在尝试将字符串与

WHERE
子句中的日期进行比较。 试试这个:

SELECT TO_DATE(LOADED_DATE, 'YYYYMMDD')
FROM ELLIPSE.MSF26A
WHERE TO_DATE(LOADED_DATE, 'YYYYMMDD') >= ADD_MONTHS(SYSDATE,-24)

0
投票

您可能还需要在 WHERE 子句中使用转换后的日期:

SELECT TO_DATE(LOADED_DATE, 'YYYYMMDD')
FROM ELLIPSE.MSF26A
WHERE TO_DATE(LOADED_DATE, 'YYYYMMDD') >= ADD_MONTHS(SYSDATE,-24)

我想您也想从表中选择其他字段。

© www.soinside.com 2019 - 2024. All rights reserved.