将字段时间戳数据转换为jooq中的java.sql日期
我从mysql表中检索时间戳类型的数据。但是我只需要返回这个时间戳的日期部分。尝试将时间戳转换为日期数据类型。但在jooq中,这会给出一些错误将字段时间戳数据转换为jooq中的java.sql日期,java,mysql,jooq,Java,Mysql,Jooq,我从mysql表中检索时间戳类型的数据。但是我只需要返回这个时间戳的日期部分。尝试将时间戳转换为日期数据类型。但在jooq中,这会给出一些错误 Field<Timestamp> transaction_date = LINKLK_TRANSACTIONS.MODIFIED_AT.as("transaction_date"); Field transaction_date=LINKLK_TRANSACTIONS.MODIFIED_AT.as(“transaction_date”);
Field<Timestamp> transaction_date = LINKLK_TRANSACTIONS.MODIFIED_AT.as("transaction_date");
Field transaction_date=LINKLK_TRANSACTIONS.MODIFIED_AT.as(“transaction_date”);
这无法工作:
或者您可以强制转换字段
:
Field<Date> transaction_date = LINKLK_TRANSACTIONS.MODIFIED_AT.cast(Date.class);
fieldtransaction\u date=LINKLK\u TRANSACTIONS.MODIFIED\u AT.cast(date.class);
有许多其他选项可以做到这一点,但是上面的内容对于您的特定用例来说已经足够了。“这会产生一些错误”永远都不够信息。错误到底是什么?您尝试执行转换的代码在哪里?考虑到时间戳只是时间上的一个瞬间,它可以代表不同时区中的不同日期,您对哪个时区感兴趣?实际上,我需要一种正确的转换方法。JOOQ字段无法转换为日期。不兼容的数据类型根本无法回答我的评论。您说您尝试了一些方法来转换值,但出现了错误-那么您尝试了什么,错误是什么?你明白我关于时区的观点吗?
Field<Date> transaction_date = DSL.date(LINKLK_TRANSACTIONS.MODIFIED_AT);
Field<Date> transaction_date = LINKLK_TRANSACTIONS.MODIFIED_AT.cast(Date.class);