首页 文章

如何写入查询以获取特定日期和日期范围

提问于
浏览
0

audit_modifier是VARCHAR2(30 CHAR),audit_modifier值以这种格式存储[2018-01-18T17:19:47.285Z] .

然后如何写入查询以获取特定日期和日期范围 .

SELECT * FROM TABLE其中audit_modifier ='2018-01-18';

得到以下错误消息 .

select * from TABLE WHERE trunc(audit_modifier)BETWEEN TO_DATE('2018-01-16','YYYY-MM-DD')和TO_DATE('2018-01-16','YYYY-MM-DD');

ORA-00932:不一致的数据类型:预期NUMBER得到日期00932. 00000 - "inconsistent datatypes: expected %s got %s" *原因:
*动作:行错误:10列:29

1 回答

  • 0

    此答案假定您以下列格式将时间戳信息存储为文本:

    2018-01-18T03:22:48.317Z
    

    您应该将日期信息存储在日期列中,但我们可以解决此问题 . 我们可以使用 TO_TIMESTAMP 将此字符串转换为时间戳,然后将其截断为日期:

    SELECT *
    FROM TABLE
    WHERE TRUNC(TO_TIMESTAMP('2018-01-18T03:22:48.317Z',
                             'YYYY-MM-DDTHH24:MI:SS.FFFZ')) =
        TO_DATE('2018-01-18', 'YYYY-MM-DD')
    

相关问题