chaodada
V2EX  ›  Oracle

万能的 v 友们 oracle 时间查询求助

  •  
  •   chaodada · Mar 14, 2019 · 3134 views
    This topic created in 2628 days ago, the information mentioned may be changed or developed.

    select * from 表名 t where trunc(t.提交时间) between trunc(sysdate-1) and trunc(sysdate-1)

    进行时间段查询
    但是 “提交时间” 这个字段在数据库存储的是 13-MAR-19 这种类型 , 我前端传来的数据是这样的 2019-03-14 我应该在语句中怎么写呢 本人小白。。

    3 replies    2019-03-14 11:13:41 +08:00
    l00t
        1
    l00t  
       Mar 14, 2019
    你先别管它存的形式是什么,先关心下它这个字段是什么类型。
    chaodada
        2
    chaodada  
    OP
       Mar 14, 2019
    @l00t 大佬时间是 DATE 类型 。。。
    l00t
        3
    l00t  
       Mar 14, 2019
    时间类型就直接统一成时间类型来用,不用管形式。

    考虑到你是小白,我给你例子:

    select * from 表名 t where t.提交时间 between sysdate-1 and sysdate;

    你上面那几个 trunc 真的没问题吗?本身你给的时间就是到天,sysdate 默认也是到天,你再 trunc 一下还是到天,没有任何意义啊。你的 between 条件里两个都是 sysdate -1, 你也再看看到底对不对。如果你的 between 里面有一个是你前端来的数据,那你怎样写:


    select * from 表名 t where t.提交时间 between to_date('2019-03-14', 'yyyy-mm-dd') and sysdate;
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5303 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 01:17 · PVG 09:17 · LAX 18:17 · JFK 21:17
    ♥ Do have faith in what you're doing.