PostgreSQL sql 时间模糊查询

PostgreSQL sql 时间模糊查询,第1张

select from leve a where aadd_date >= '2012-10-01' and aadd_date < '2012-11-01';

在postgresql中测试通过。时间是按范围查询,不是模糊

CREATE TABLE table1 (

  id   INT,

  name VARCHAR(8),

  createdate  DATE

);

INSERT INTO table1

SELECT  1, 'name1',  TO_DATE('2013-12-12', 'YYYY-MM-DD')  UNION  ALL

SELECT  2, 'name2',  TO_DATE('2013-12-13', 'YYYY-MM-DD')  UNION  ALL

SELECT  3, 'name2',  TO_DATE('2013-12-14', 'YYYY-MM-DD')  UNION  ALL

SELECT  4, 'name2',  TO_DATE('2013-12-15', 'YYYY-MM-DD')  UNION  ALL

SELECT  5, 'name2',  TO_DATE('2013-12-15', 'YYYY-MM-DD')  UNION  ALL

SELECT  6, 'name2',  TO_DATE('2013-12-12', 'YYYY-MM-DD');

SELECT DISTINCT

  (SELECT COUNT(1) FROM  table1 t2 WHERE t1createdate >= t2createdate) AS count,

  createdate  

FROM

  table1  t1

ORDER BY

  createdate;

 count | createdate

-------+------------

     2 | 2013-12-12

     3 | 2013-12-13

     4 | 2013-12-14

     6 | 2013-12-15

(4 行记录)

PostgreqSQL中日期值可以和interval直接做加减运算。所以,只要把年龄转换成按年的interval值,就可以运算出结果了。示例:

select dv, age, dv - (age || ' year')::interval as nd  

from (

  select '2014-10-21'::date as dv, 2 as age

) s;

david=# select extract(year from now());

date_part

-----------

2013

(1 row)

david=# 32 取月份

david=# select extract(month from now());

date_part

-----------

4

(1 row)

david=#

david=# select extract(day from timestamp '2013-04-13');

date_part

-----------

13

(1 row)

david=#

david=# SELECT EXTRACT(DAY FROM INTERVAL '40 days 1 minute');

date_part

-----------

40

(1 row)

david=# 33 查看今天是一年中的第几天

david=# select extract(doy from now());

date_part

-----------

102

(1 row)

david=# 34

查看现在距1970-01-01 00:00:00 UTC 的秒数

david=# select extract(epoch from now());

date_part

------------------

136575590794474

(1 row)

david=# 35 把epoch 值转换回时间戳

david=# SELECT TIMESTAMP WITH TIME ZONE 'epoch' + 1369755555 INTERVAL '1 second';

column

------------------------

2013-05-28 23:39:15+08

(1 row)

david=#

--取day

skytf=> select extract(day from now());

date_part

-----------

3

(1 row)

skytf=> select extract(day from timestamp '2011-06-03');

date_part

-----------

3

(1 row)

skytf=> select timestamp '2011-06-03';

timestamp

---------------------

2011-06-03 00:00:00

(1 row)

--取小时

skytf=> select extract (hour from now());

date_part

-----------

14

(1 row)

--取分钟

skytf=> select extract (minute from now());

date_part

以上就是关于PostgreSQL sql 时间模糊查询全部的内容,包括:PostgreSQL sql 时间模糊查询、postgreSQL:按日期查询、PostgreSQL 日期加减问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10150440.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存