广告位联系
返回顶部
分享到

对postgresql日期和时间的比较

PostgreSQL 来源:互联网 作者:佚名 发布时间:2025-02-03 09:17:03 人浏览
摘要

postgresql日期和时间比较 DB里保存到时分秒,需要和年月日比较 1 2 3 select date_trunc(day,now())=date_trunc(day,date(20200615)) --true select date_trunc(day,date(20200611)) --2020-06-11 00:00:00+00 select * from users where date_

postgresql日期和时间比较

DB里保存到时分秒,需要和年月日比较

1

2

3

select date_trunc('day',now())=date_trunc('day',date('20200615'))           --true

select date_trunc('day',date('20200611'))                   --2020-06-11 00:00:00+00

select * from users where date_trunc('day',birthday)=date_trunc('day',date('20200401'))

db里存储date或者timestamp字段

需要和字符串比较时,建议先使用to_date或者to_timestamp转换。

测试发现pgsql往类型为timestamp的列插入字符串数据,或者用date/timestamp类型的数据跟字符串数据作比较时,会自动转换成对应的date/timestamp。

oracle未测试。

1

2

select to_date('2019-01-15 18:33:41','yyyy-MM-dd hh24:mi:ss');

select to_timestamp('2019-01-15 18:33:41','yyyy-MM-dd hh24:mi:ss');

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

select to_date('2019-01-15 18:33:42','yyyy-MM-dd hh24:mi:ss')= to_timestamp('2019-01-15 00:00:00','yyyy-MM-dd hh24:mi:ss');

>>true

select to_timestamp('2019-01-15 18:33:42','yyyy-MM-dd hh24:mi:ss')- to_date('2019-01-15 18:33:42','yyyy-MM-dd hh24:mi:ss');

>>"18:33:42"

select to_timestamp('2019-01-15 18:33:42','yyyy-MM-dd hh24:mi:ss')='2019/01/15';

>>false

 

select to_date('2019-01-15 18:33:42','yyyy-MM-dd hh24:mi:ss')='2019/01/15';

>>true

select to_date('2019-01-15 18:33:42','yyyy-MM-dd hh24:mi:ss')='2019-01-15';

>>true

select to_date('2019-01-15 18:33:42','yyyy-MM-dd hh24:mi:ss')='20190115';

>>true

select to_date('2019-01-15 18:33:42','yyyy-MM-dd hh24:mi:ss')='2019/01-15';

>>ERROR:  date型の入力構文が不正です: "2019/01-15"

 

 

SELECT

    time,

    to_timestamp('2011-12-13 14:15:16','yyyy-MM-dd hh24:mi:ss'),

    time=to_timestamp('2011-12-13 14:15:16','yyyy-MM-dd hh24:mi:ss'),

    time,to_date('2011-12-13 14:15:16','yyyy-MM-dd hh24:mi:ss'),

    time=to_date('2011-12-13 14:15:16','yyyy-MM-dd hh24:mi:ss')

FROM public.product where id =21;

>>"2011-12-13 14:15:16+09"

>>"2011-12-13 14:15:16+09"

>>true

>>"2011-12-13 14:15:16+09"

>>"2011-12-13"

>>false


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计