下面的SQL文查询结果是 "2018-08-20 10:09:10.815125",并且返回类型可以当String处理。返回json等都方便使用。
SQL> SELECT to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS');
更新时,参数传入“2018-08-20 10:09:10.815125”的字符串,那么需要在SQL中转化来匹配updateTime字段的timeStamp数据类型。
SQL> update tbl_A set username='XXX' where userid='001' and updateTime = to_timestamp('2018-08-20 10:09:10.815125','yyyy-mm-dd hh24:mi:ss.us');
另附表一张
to_char(timestamp, text)
把时间戳转换成字串
to_char(current_timestamp, 'HH12:MI:SS')
to_char(interval, text)
把时间间隔转为字串
to_char(interval '15h 2m 12s', 'HH24:MI:SS')
to_char(int, text)
把整数转换成字串
to_char(125, '999')
to_char(double precision, text)
把实数/双精度数转换成字串
to_char(125.8::real, '999D9')
to_char(numeric, text)
把numeric转换成字串
to_char(-125.8, '999D99S')
to_date(text, text)
把字串转换成日期
to_date('05 Dec 2000', 'DD Mon YYYY')
to_timestamp(text, text)
timestamp
把字串转换成时间戳
to_timestamp('05 Dec 2000', 'DD Mon YYYY')
to_timestamp(double)
timestamp
把UNIX纪元转换成时间戳
to_timestamp(200120400)
to_number(text, text)
numeric
把字串转换成numeric
to_number('12,454.8-', '99G999D9S')
计算相差天数
select date_part('day', '2015-01-15 17:05'::timestamp - '2013-01-14 16:05'::timestamp);
在PostgreSQL中可以直接对时间进行加减运算:、
SELECT now()::timestamp + '1 year'; --当前时间加1年
SELECT now()::timestamp + '1 month'; --当前时间加一个月
SELECT now()::timestamp + '1 day'; --当前时间加一天
SELECT now()::timestamp + '1 hour'; --当前时间加一个小时
SELECT now()::timestamp + '1 min'; --当前时间加一分钟
SELECT now()::timestamp + '1 sec'; --加一秒钟
select now()::timestamp + '1 year 1 month 1 day 1 hour 1 min 1 sec'; --加1年1月1天1时1分1秒
SELECT now()::timestamp + (col || ' day')::interval FROM table --把col字段转换成天 然后相加