当前位置: 首页 > 知识库问答 >
问题:

带时间的Jooq-Date列

裴兴言
2023-03-14

在我的oracle数据库中,在表中,我有一个日期列。我使用jooq获取它,这是一个简单的选择查询。jooq获取列值,但没有时间。我错过了什么配置吗?

共有1个答案

堵昊焱
2023-03-14

我可以在web上找到的关于这个问题的所有答案或多或少都与代码生成有关,但我正在进行一个框架项目,不想将我的代码与任何特定的数据库结合起来。

我遇到的问题是,在调用record.getValue()方法时,JOOQ从date列的数据中切断了time部分。

根据Jooq的文档,我通过从底层的resultset获取date列的值而不是使用record.getvalue()来解决这个问题。

示例代码:

ResultQuery<Record> query;
Cursor<Record> cursor = query.fetchLazy(fetchSize);
cursor.fetchOne(new RecordMapper<Record, Map<String, Object>>() {
    @Override
    public Map<String, Object> map(final Record record) {
        for (Field<?> field : record.fields()) {
            record.getValue(field, converter);
            if ("date".equals(field.getDataType().getTypeName())) {
                resultSet resultSet = cursor.resultSet();
                try {
                    Timestamp ts = resultSet.getTimestamp(field.getName());
                } catch (SQLException e) {
                    // ......
                }
            }
        }
    }
);
 类似资料:
  • 在本例中,应为。 列datatype是)。以下是我的疑问: 不转换为PST时区:

  • 之前章节已经提过,filters/date 插件可以用来转换你的日志记录中的时间字符串,变成 LogStash::Timestamp 对象,然后转存到 @timestamp 字段里。 注意:因为在稍后的 outputs/elasticsearch 中常用的 %{+YYYY.MM.dd} 这种写法必须读取 @timestamp 数据,所以一定不要直接删掉这个字段保留自己的字段,而是应该用 filte

  • 我将springBoot与JOOQ一起使用,并希望记录生成的SQL。 我将slf4J添加到maven依赖项和log4j.xml中,就像在JOOQ文档中一样(http://www.JOOQ.org/doc/latest/manual/sql-execution/logging/)。但是当jooq执行一些查询时,我在控制台中看不到任何日志。

  • 本章将为您提供有关如何在Perl中处理和操作日期和时间的基本知识。 当前日期和时间 让我们从localtime()函数开始,如果没有参数,则返回当前日期和时间的值。 以下是在列表上下文中使用时由localtime函数返回的9元素列表 - sec, # seconds of minutes from 0 to 61 min, # minutes of hour from 0 to 5

  • 您编写的大多数软件都需要实现某种形式的日期函数来返回当前日期和时间。 日期是日常生活的重要组成部分,无需思考即可轻松与他们合作。 Pascal还提供了强大的日期算术工具,可以轻松操作日期。 但是,对于不同的编译器,这些函数的实际名称和工作方式是不同的。 获取当前日期和时间 Pascal的TimeToString函数以冒号(:)分隔的形式为您提供当前时间。 以下示例显示如何获取当前时间 - prog

  • 您编写的大多数软件都需要实现某种形式的日期函数来返回当前日期和时间。 日期是日常生活的重要组成部分,无需思考即可轻松与他们合作。 VB.Net还为日期算法提供了强大的工具,使得操作日期变得容易。 Date数据类型包含日期值,时间值或日期和时间值。 Date的默认值是0001年1月1日的0:00:00(午夜)。等效的.NET数据类型是System.DateTime 。 DateTime结构表示一个时