数据类型不一致:预计DATE得到了NUMBER

时间:2018-11-05 18:23:38

标签: sql oracle

我试图添加一个Where子句,该子句仅捕获特定日期的数据(trunc(hr,'dd')),但是当我输入HR的样本值时(类型:DATE WITH TIME ZONE),我收到了出现以下错误:

ORA-00932: inconsistent datatypes: expected DATE got NUMBER

以下是“人力资源栏”的一些示例数据:

**HR**
25-DEC-16 12.00.00.000000000 AM AMERICA/NEW_YORK
30-DEC-16 06.00.00.000000000 AM US/EASTERN

以下是我的(示例)查询:

select *
  from value v
  where trunc(v.hr, 'dd') = 
        trunc('01-DEC-16 12.00.00.000000000 AM AMERICA/NEW_YORK', 'dd')
    and v.code = 'DEFAULT';

我需要转换一些东西吗?我尝试使用 TO_DATE 函数,但我认为没有适合我的示例数据的日期格式...

谢谢!

1 个答案:

答案 0 :(得分:1)

您的WHERE状况有几个问题。

"https://graph.facebook.com/<MY_API>/<MY_FORM_ID>/test_leads?access_token="+token返回一个TRUNC(..., 'DD')值,即您丢失了所有时区信息。 我会用这个

DATE

注意,您可以跳过WHERE TRUNC(SYS_EXTRACT_UTC(hr)) = TRUNC(SYS_EXTRACT_UTC(TIMESTAMP '2016-12-01 12:00:00 AMERICA/NEW_YORK')) ,因为它是默认设置。