在使用 jOOQ 的 postgres 数据库中,当我获取具有定义为的列的行时
timestamp without time zone
当我进行选择并获得值(由 jOOQ 获取到 a 中java.sql.Timestamp
)时,我看到纳秒丢失了。
例如,在我的数据库中:
2016-04-04 15:14:10.970048
但是 jOOQ 返回一个带值的时间戳
2016-04-04 15:14:10.0
这是进一步比较的问题。我怎样才能防止这种情况?
更新 根据要求,我将提供更多详细信息。
在 Postgresql 我有一个类型:
CREATE TYPE schema.my_type AS
(
mt_page smallint,
mt_active_from timestamp without time zone,
);
我调用一个函数,使用例程:
DSLContext dsl = ....
MyTypeRecord [] records = Routines.myRoutine(dsl.configuration);
然后,时间戳不会没有纳米
功能是:
CREATE OR REPLACE FUNCTION shop.myRoutine(
OUT my_types schema.my_type[]
)
RETURNS schema.my_type[] AS
$BODY$
DECLARE
BEGIN
BEGIN
SELECT ARRAY(
SELECT
ROW(a_id, a_timestamp)::schema.my_type
FROM schema.article
) INTO my_types;
END;
RETURN;
END;
$BODY$
LANGUAGE plpgsql VOLATILE SECURITY DEFINER
COST 1000;