使用 jOOQ 实现带间隔的 date_sub() 函数

2024-03-07

我从昨天起就一直在处理这个问题。

问题是我正在将查询迁移到jOOQ http://www.jooq.org当我尝试实现这一部分时,我陷入了困境:

select * from table where condition1 and date1 >= date_sub(now(), interval 1 days)

具体来说这部分条件:date_sub(now(),间隔1天)与 jOOQ。

所以我的问题是:

  1. 我应该使用 jOOQ 中的哪些函数来表示 date_sub?

  2. 我该如何实施间隔X天与jOOQ?

澄清一下,日期的类型时间戳

提前致谢!


解决方案:

稍微偏向于 Oracle 数据库,jOOQ 只需使用以下方法即可实现添加/减去天间隔:

// Java
DSL.currentTimestamp().sub(1);

上面的效果是:

-- Oracle
sysdate - 1

-- MySQL
date_add(current_timestamp(), interval -1 day)

当然,您也可以访问date_add() http://www.jooq.org/javadoc/latest/org/jooq/impl/DSL.html#dateAdd%28org.jooq.Field,%20org.jooq.Field%29直接使用函数,如果你愿意的话:

// Java
DSL.dateAdd(DSL.currentTimestamp(), -1);

一些文档:

  • 手册中有关日期时间算术的部分 http://www.jooq.org/doc/3.1/manual/sql-building/column-expressions/arithmetic-expressions/#N113ED
  • 手册中有关区间数据类型的部分 http://www.jooq.org/doc/3.1/manual/reference/reference-data-types/data-types-intervals/
  • Field.add() Javadoc http://www.jooq.org/javadoc/latest/org/jooq/Field.html#add%28org.jooq.Field%29
  • DSL.dateAdd() Javadoc http://www.jooq.org/javadoc/latest/org/jooq/impl/DSL.html#dateAdd%28org.jooq.Field,%20org.jooq.Field%29
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 jOOQ 实现带间隔的 date_sub() 函数 的相关文章

随机推荐

  • Dockerfile Raspberry PI Python pip install “PermissionError: [Errno 1] 不允许操作”

    给定 Dockerfile FROM python 3 10 slim RUN pip install user no cache dir Flask requests WORKDIR app COPY app app CMD python
  • Visual Studio 更新 (16.8.1) 导致 CI​​ 构建失败

    我们最近将构建服务器更新为使用 Visual Studio 16 8 1 和 Xamarin iOS 14 4 1 3 并且遇到了以前运行的 MSBuild 命令的问题 作为记录 我们正在构建一个 Xamarin Forms 解决方案 并在
  • 可以在使用 Bokeh 的 IPython 笔记本会话中在 output_notebook 和 output_file 之间切换吗?

    我想知道是否可以在同一个 IPython 笔记本中使用 Bokeh 生成静态 HTML 输出和内联图 我目前看到的是 一旦我打电话output notebook or output file myfile html 我被困在使用那种输出方式
  • 如何从并行进程中运行的函数中检索值?

    Multiprocessing 模块对于 Python 初学者来说相当令人困惑 特别是对于那些刚刚从 MATLAB 迁移并因并行计算工具箱而变得懒惰的人 我有以下函数 运行时间约为 80 秒 我想通过使用 Python 的多处理模块来缩短这
  • 如何在 swift 3 中设置共享 URLCache?

    这是我们在 Swift 2 中的代码 Swift 3 版本是什么 我没有看到 setShared 的替代品 let sharedCache NSURLCache NSURLCache memoryCapacity 0 diskCapacit
  • Oauth2 用于授权和身份验证?

    Oauth2可以用于授权 and 验证 据我了解 Oauth2授权用于从提供商 例如 Facebook Google Twitter 等 访问用户信息的消费者应用程序 但是 Oauth2 可以用来吗认证用户 例如 假设我们有一个由本机移动前
  • 终止使用Python的subprocess.Popen()创建的进程[重复]

    这个问题在这里已经有答案了 这是我的想法 首先 我使用 subprocess Popen 创建了一个进程 其次 在一段时间后 我尝试通过 Popen kill 杀死它 import subprocess import os signal i
  • 确定控制台应用程序是从命令行还是从 Powershell 运行

    如何确定控制台应用程序是从 Powershell 运行还是从应用程序内的标准命令行运行 像这样的事情可能比检查窗口标题更可靠 using System using System Diagnostics Process p Process G
  • Cakephp 2.3.x 发送文件并强制下载 mp4 文件

    我正在使用 cakephp 2 3 1 我想强制下载一个 mp4 文件http book cakephp org 2 0 en controllers request response html cake response file htt
  • Protractor:onPrepare 不同的测试套件

    我登录应用程序的 conf js 文件中有 onPrepare 我的理解是每次我运行 1 个或多个测试套件时 它首先执行 onPrepare 中的任何内容 这很棒 因为我在运行测试之前使用 onPrepare 登录到应用程序 问题是 当我运
  • ggplot2中直方图条形的反向填充顺序

    我注意到 使用绘图创建的直方图中填充条形的默认情况是按字母顺序逆序排列 而图例则按字母顺序排列 我有什么办法让两者按字母顺序排序吗 问题在下面的示例图中很明显 额外问题 如何将从左到右的条形顺序从字母顺序更改为递减计数总数 谢谢 df lt
  • 在部分视图中进行不显眼的客户端验证

    我有一个在 jQuery UI 对话框中呈现的部分视图 因为它是动态内容 所以不引人注目的客户端验证不起作用 为了得到它 我必须强制验证器解析表单的内容调用 validator unobtrusive parse 但这不起作用 我的浏览器报
  • SQL 按版本“编号”排序,不同长度的字符串

    我正在尝试创建一个 SQL 查询 该查询将按版本号 例如 1 1 4 5 10 等 对结果进行排序 这是我尝试过的 SELECT FROM Requirements WHERE Requirements Release NOT LIKE O
  • 每周数据的时间序列分解

    我对 R 完全陌生 刚刚开始使用它 我有三年的每周数据 我想将这个时间序列数据分解为趋势 季节性和其他组成部分 我有以下疑问 我应该使用哪个功能 ts or decompose 如何应对闰年的情况 如果我错了请指正 频率是52 提前致谢 我
  • PyQt5 + Python 3:跨线程传递列表、字典作为信号参数

    我正在使用 pyqtSignal 将 python 列表作为参数从工作线程发送到主线程 qt 何时创建作为参数传递的对象的副本 根据 http www embeddeduse com 2013 06 29 copied or not cop
  • Java优化的Cramers规则函数

    最近了解了初级微积分中的 Cramers 规则 并决定用 Java 制作一个算法来帮助我更好地理解它 以下代码 100 正确运行 但是它不使用任何类型的 for 循环来以更简单的方式执行其操作 问题 Java 中是否有更优雅的 Cramer
  • 如何清除 IDLE shell 中所有文本的屏幕?

    我想为 python 游戏创建一个基于文本的 GUI 我打算在多行文本之间移动一个字符 经过几个小时的在线搜索后 我发现的解决方案对此不起作用 我想要一些能够擦除屏幕上所有文本的东西 这样我就可以重新打印同一行 但角色移动了一个空格 需要明
  • range() 不是每次都会计算它的参数吗?

    l作为参数传递给range其值在内部被修改的函数for循环 但循环是为了10次而不是5 i 0 l 10 for i in range l print i l l l 1 输出是 0 10 1 9 2 8 3 7 4 6 5 5 6 4 7
  • 无法打开应用程序“Eclipse”。 -10810

    更新android L Preview的SDK后 我尝试将ADT从adt 22更新到23 但它说版本冲突 所以无法更新ADT然后我通过about eclipse卸载了ADT插件 重新启动eclipse后没有打开 它显示警告 因为无法打开应用
  • 使用 jOOQ 实现带间隔的 date_sub() 函数

    我从昨天起就一直在处理这个问题 问题是我正在将查询迁移到jOOQ http www jooq org当我尝试实现这一部分时 我陷入了困境 select from table where condition1 and date1 gt dat