Postgresql时间操作

Postgresql时间操作问题

本机环境
select version();
PostgreSQL 9.6.3, compiled by Visual C++ build 1800, 64-bit

1.date 操作符
select date’20180101’;
局限性:
只能精确到天
2 timestamp
遇到得问题
直接用timestamp 操作字符串拼接函数 报sytax error
错误尝试1:
SELECT timestamp ‘2018040411’/100||’ ‘||mod(‘2018040411’,100)||’:’+interval ‘1 hour’;
错误尝试2:
SELECT timestamp format(‘2018%s04%s04%s11%s’,’-‘,’-‘,’ ‘,’:00:00’);
奇怪得是 直接 SELECT timestamp ‘20180404 11:’;可以得出 ‘2018-04-04 11:00:00’

查阅资料得到写法
改正前: select timestamp(now()::timestampz);
select (now()::timestamptz)::timestamp;
改进后写法
SELECT (to_char(2018040411,’9999-99-99 99:’))::timestamp+interval ‘1 hour’;
由于库中存时间是用nuberic类型 所以舍弃字符串拼接写法

猜你喜欢

转载自blog.csdn.net/bea_trader/article/details/80900770