H2 数据库中的当前时刻

2024-01-09

如何获取H2数据库中实际的当前时钟时间,当前时刻?

The CURRENT_TIMESTAMP http://h2database.com/html/functions.html#current_timestamp函数给出当前数据库事务开始的时刻。有没有办法获得当前时刻,当前语句执行的时间?这可能与以下时间相同或晚于CURRENT_TIMESTAMP.

为了比较,在,一些函数例如current_timestamp返回交易开始时间,而某些函数如clock_timestamp http://www.postgresql.org/docs/current/static/functions-datetime.html返回实际的当前时钟时间。


当前时间(函数调用的)

你可以创建一个 for System.currentTimeMillis():

CREATE ALIAS CURRENT_TIME_MILLIS FOR "java.lang.System.currentTimeMillis";

这不会生成语句执行开始的时间戳,但实际上current时间戳,每当 H2 实际调用该函数时 - 即一个不确定的时刻,并且同一语句中不同行的值可能不同。

但也许,这足以满足您的要求。

当前时间(语句执行的时间)

如果上述非确定性解决方案对您来说不够精确,另一个选择是实现一个 JDBC 包装器,它拦截所有语句,将当前时间设置为某个线程本地(H2 不支持Connection.getClientInfo()):

threadlocal.set(new Timestamp(System.currentTimeMillis()).toString());

...然后从ALIAS像这样:

public static Timestamp statementTime() throws SQLException {
    return Timestamp.valueOf(threadlocal.get());
}

进而:

CREATE ALIAS STATEMENT_TIME FOR "com.example.statementTime";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

H2 数据库中的当前时刻 的相关文章

  • 在 Postgres 中添加 current_timestamp 和 days 列的总和

    我想通过向当前时间添加天数来更新列 用伪语法来说 它是 UPDATE foo SET time current timestamp days integer days 是同一个表中的一列 select now cast 1 day as i
  • 如何在 Hive 中将字符串转换为毫秒时间戳

    我有一个字符串 20141014123456789 它代表一个毫秒时间戳 我需要将其转换为 Hive 中的时间戳 0 13 0 而不丢失毫秒 我尝试了这个 但 unix timestamp 返回一个整数 所以我丢失了毫秒 from unix
  • 将此字符串转换为时间戳 PHP [重复]

    这个问题在这里已经有答案了 我有这个字符串 13 10 15 00 我想将其转换为时间戳 但是当我这样做时 timestamp strtotime 13 10 15 00 它返回一个空值 在你的代码中strtotime 正在尝试转换13 1
  • 玩!没有正确关闭 H2

    我正在使用 Play 编写一个部署在 Tomcat 中的 Web 应用程序 因为应用程序不会处理太多数据 所以我将默认的 H2 数据库与 Hibernate 一起使用 当我想要部署新版本的应用程序时 我关闭 tomcat 擦除旧的 web
  • 使用 pandas 计算不规则时间序列的每日平均值

    我正在尝试从 csv 文件的不规则时间序列中获取每日平均值 csv 文件中的数据从 2013 年 9 月 20 日 13 00 开始 一直持续到 2014 年 1 月 14 日 10 57 Time Values 20 09 2013 13
  • 我可以让 H2 在内存数据库中自动创建模式吗?

    我已经看过了内存中的 H2 数据库 通过 Spring Hibernate 初始化模式 https stackoverflow com questions 1945175 h2 database in memory init schema
  • 我可以从带时间戳的图像创建 VFR 视频吗?

    首先 我对图像制作视频的经验几乎为零 我拥有的是一组带有 BMP 时间戳的图像 我想从中生成视频 由于时间戳的间隔不相等 我不能简单地使用从图像创建恒定帧速率视频的软件 一个可能的解决方案是在固定的时间间隔创建人造图像 但如果我无法制作 V
  • 我应该如何存储不同时区事件的数据?

    这是一个概念性问题 因此这里没有代码片段 假设我创建了一个事件数据库 其中一些在纽约 一些在芝加哥 一些在凤凰城 等等 我的服务器的时区设置为纽约 在我看来 为所有这些事件创建 UNIX 时间戳时有两种选择 考虑时区 即 1 月 1 日午夜
  • 比较 PHP 中的 2 个时间戳并获取之间的天数?

    我有 2 个时间戳 如 3434368673 想要获取它们之间的天数 我怎样才能做到这一点 Thanks Use the 朱利安 戴 http en wikipedia org wiki Julian day days unixtojd t
  • 改变 H2 中的序列

    我在生产中使用 Postgres 数据库 在测试中使用 H2 我想为现有表创建一个新序列 所以在 Liquibase 中我写了这个
  • 在 JavaScript/Node.js 中将 Youtube Data API V3 视频持续时间格式转换为秒

    我正在尝试将 ISO 8601 字符串转换为 JS Node 中的秒 我能想到的最好的办法是 function convert time duration var a duration match d g var duration 0 if
  • H2 中的 IF 函数用于 MySQL 兼容性

    我正在使用 H2 具有 MySQL 兼容模式 针对我们使用 MySQL 的软件编写一些自动化测试 不幸的是 H2 似乎没有IF我们的许多查询都使用该函数 除了使用 DECODE 之类的东西重写我们的应用程序查询之外 它们是创建 if 函数
  • 如果h2表不存在则插入

    我正在使用H2 我想将一个值插入到表中 如果它不存在 我使用以下命令创建表 CREATE TABLE IF NOT EXISTS types type VARCHAR 15 NOT NULL UNIQUE 我想做一些类似的事情 REPLAC
  • 如何创建毫秒粒度的 Python 时间戳?

    我需要一个自纪元以来的毫秒 ms 时间戳 这应该不难 我确信我只是缺少一些方法datetime或类似的东西 实际上微秒 s 粒度也很好 我只需要亚 1 10 秒的计时 例子 我有一个每 750 毫秒发生一次的事件 假设它检查灯是否打开或关闭
  • 执行h2数据库中的脚本文件

    首先我想说我是 h2 数据库的新手 我需要在 h2 数据库中执行 sql 脚本文件 我有一个脚本文件 test sql 我想在 h2 数据库中执行它 是否可以 您可以使用RUNSCRIPT SQL 语句 http h2database co
  • 标量子查询包含多行

    我正在使用 H2 数据库并想要移动一些数据 为此 我创建了以下查询 UPDATE CUSTOMER SET EMAIL SELECT service EMAIL FROM CUSTOMER SERVICE AS service INNER
  • H2 SQL 日期比较

    在 H2 数据库中 如何在 TIMESTAMP 类型的列上运行查询 SELECT FROM RECORDS WHERE TRAN DATE lt 2012 07 24 Try 2012 07 24
  • 唯一索引或主键违规:“PRIMARY KEY ON PUBLIC.xxx”; SQL语句

    每当我的应用程序启动时 我都会收到以下错误消息 Caused by org h2 jdbc JdbcSQLException Unique index or primary key violation PRIMARY KEY ON PUBL
  • 为什么我的 @OneToMany 属性出现主键违规?

    我有一个实体 Entity public class Student GeneratedValue strategy GenerationType AUTO Id private long id OneToMany private Set
  • MySQL 正在将我的时间戳值转换为 0000-00-00

    我是 PHP 新手 目前仍在学习中 我认为我的注册表有问题 username password email全部成功插入MySQL registered and last seen不要 我以为我正在使用getTimestamp 错了 但它呼应

随机推荐