我需要将时间戳转换为双精度,而无需在postgresql中使用历元
我需要在一个地方将时间戳转换成字符串或其他东西,然后在另一个地方将其转换回时间戳。 我尝试了以下方法。但我有点不同。当我把它转换回时间戳时,最后一个数字丢失了我需要将时间戳转换为双精度,而无需在postgresql中使用历元,postgresql,Postgresql,我需要在一个地方将时间戳转换成字符串或其他东西,然后在另一个地方将其转换回时间戳。 我尝试了以下方法。但我有点不同。当我把它转换回时间戳时,最后一个数字丢失了 SELECT EXTRACT(EPOCH FROM TIMESTAMP WITH TIME ZONE '2013-09-27 13:51:02.809501+05:30'); SELECT TIMESTAMP WITH TIME ZONE 'epoch' + 1380270062809.5 * INTERVAL '1 millisecon
SELECT EXTRACT(EPOCH FROM TIMESTAMP WITH TIME ZONE '2013-09-27 13:51:02.809501+05:30');
SELECT TIMESTAMP WITH TIME ZONE 'epoch' + 1380270062809.5 * INTERVAL '1 millisecond';
结果是…“2013-09-27 13:51:02.8095+05:30”
您可以尝试:
第一次提取完整秒数
floor(从带有时区'2013-09-27 13:51:02.809501+05:30'的时间戳中提取历元)
然后添加微秒
to_char('2013-09-27 13:51:02.809501+05:30'::timestamp,.US')
完整表达:
选择楼层(从带有时区'2013-09-27 13:51:02.809501+05:30')的时间戳中提取历元)| |到|字符('2013-09-27 13:51:02.809501+05:30'::TIMESTAMP,.US')
资料来源: