在 Denodo 中查询 table 时在 DBeaver 中查询 [VIRTUAL] [ERROR]
QUERY [VIRTUAL] [ERROR] in DBeaver while querying the table in Denodo
我在 DBeaver 中 运行 这个查询
SELECT DLY.badge_nbr,
DLY.DIM_DT_ID,attribute_type
FROM FACT_MDM_DAILY_INT DLY
WHERE SCENARIO_TYPE = 'VOLTAGE'
AND ATTRIBUTE_TYPE = 'Phase_A_Average_RMS_Voltage'
AND DLY.dim_dt_id >= TO_DATE('2016-01-28','yyyy-mm-dd');
我得到的错误是 QUERY [VIRTUAL] [ERROR]。有趣的是,当我 运行 在 WHERE 子句中没有进行日期比较的相同查询时,它工作正常。
SELECT DLY.badge_nbr,
DLY.DIM_DT_ID,attribute_type
FROM FACT_MDM_DAILY_INT DLY
WHERE SCENARIO_TYPE = 'VOLTAGE'
AND ATTRIBUTE_TYPE = 'Phase_A_Average_RMS_Voltage';
Denodo 中的 to_date() 函数必须至少有 2 个参数:
- 您的字符串字段的日期格式(查看 java SimpleDateFormat)
- 要转换为日期的字符串。
因此,您的参数似乎被调换了,您必须使用大写字母 M 表示月份...因为小写字母 m 表示分钟。
to_date('yyyy-MM-dd','2016-01-28')
我在 DBeaver 中 运行 这个查询
SELECT DLY.badge_nbr,
DLY.DIM_DT_ID,attribute_type
FROM FACT_MDM_DAILY_INT DLY
WHERE SCENARIO_TYPE = 'VOLTAGE'
AND ATTRIBUTE_TYPE = 'Phase_A_Average_RMS_Voltage'
AND DLY.dim_dt_id >= TO_DATE('2016-01-28','yyyy-mm-dd');
我得到的错误是 QUERY [VIRTUAL] [ERROR]。有趣的是,当我 运行 在 WHERE 子句中没有进行日期比较的相同查询时,它工作正常。
SELECT DLY.badge_nbr,
DLY.DIM_DT_ID,attribute_type
FROM FACT_MDM_DAILY_INT DLY
WHERE SCENARIO_TYPE = 'VOLTAGE'
AND ATTRIBUTE_TYPE = 'Phase_A_Average_RMS_Voltage';
Denodo 中的 to_date() 函数必须至少有 2 个参数:
- 您的字符串字段的日期格式(查看 java SimpleDateFormat)
- 要转换为日期的字符串。
因此,您的参数似乎被调换了,您必须使用大写字母 M 表示月份...因为小写字母 m 表示分钟。
to_date('yyyy-MM-dd','2016-01-28')