代码之家  ›  专栏  ›  技术社区  ›  Joseph

PostgreSQL,检查与“今日”相关的日期

  •  68
  • Joseph  · 技术社区  · 15 年前

    想知道是否有人可以帮助一些Postgres。我有一张桌子,上面有一列,叫做 mydate 这是Postgres日期类型。我想做如下的事情:

    SELECT * FROM MyTable WHERE mydate > [Today-1year]
    

    我以前从未使用过postgres,我确信我只需要知道一些函数的名称——我很乐意自己查找引用。有人能给我指出正确的方向吗?

    谢谢!

    4 回复  |  直到 9 年前
        1
  •  123
  •   Paul Tomblin    15 年前
    select * from mytable where mydate > now() - interval '1 year';
    
        2
  •  53
  •   Alex Howansky    15 年前

    我认为这样可以做到:

    SELECT * FROM MyTable WHERE mydate > now()::date - 365;
    
        3
  •  7
  •   coderaj    15 年前

    这将给您当前日期减去1年:

    select now() - interval '1 year';
    
        4
  •  3
  •   Doc    9 年前

    您也可以使用 age() 功能

    select * from mytable where age( mydate, now() ) > '1 year';

    年龄() 将返回一个间隔。

    例如 age( '2015-09-22', now() ) 将返回 -1 years -7 days -10:56:18.274131

    postgresql documentation