当前位置:   article > 正文

在PostgreSQL中使用timestamp数据类型_pgsql timestamp(6)

pgsql timestamp(6)


参考自:https://www.postgresql.org/docs/10/static/functions-formatting.html

  • To get three milliseconds, one must write 12.003, which the conversion treats as 12 + 0.003 = 12.003 seconds.


第一点:众所周知,timestamp数据类型最细粒度到微秒(us),也就是timestamp(6)
那么

  1. postgres=# create table abc_s.test_lei (c1 timestamp(7));
  2. WARNING: TIMESTAMP(7) precision reduced to maximum allowed, 6
  3. 第1行create table abc_s.test_lei (c1 timestamp(7));
  4. ^
  5. WARNING: TIMESTAMP(7) precision reduced to maximum allowed, 6
  6. CREATE TABLE
  7. postgres=#

那么如上的语句虽然报错了,但是这个表还是create成功了,见下:

  1. postgres=# \d abc_s.test_lei
  2. 数据表 "abc_s.test_lei"
  3. 栏位 | 类型 | Collation | Nullable | Default
  4. ------+--------------------------------+-----------+----------+---------
  5. c1 | timestamp(6) without time zone | | |
  6. ---->>>>可以看到,自动给变成6了。因为最大到6--微秒
  7. postgres=#

第二点: 
sql语句中想插入400毫秒,就要写:
insert into test_t1 values(to_timestamp('2049-11-22 21:21:21.4','YYYY-MM-DD HH24:MI:SS.MS'));

sql语句中想插入40毫秒,就要写:
insert into test_t1 values(to_timestamp('2049-11-22 21:21:21.04','YYYY-MM-DD HH24:MI:SS.MS'));

sql语句中想插入4毫秒,就要写:
insert into test_t1 values(to_timestamp('2049-11-22 21:21:21.004','YYYY-MM-DD HH24:MI:SS.MS'));

因为1000毫秒=1秒

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/406341
推荐阅读
相关标签
  

闽ICP备14008679号