sql - H2数据库。如何在sql中将日期转换为秒?

标签 sql h2

有模拟 og MySQL 的 time_to_sec() 吗?

我注意在 H2 数据库上执行如下查询:

select * from order
join timmingSettings on order.timmingSettings = timmingSettings.id
where (order.time-timmingSettings.timeout) < current_timestamp

最佳答案

不,但如果需要的话,向 h2 添加功能似乎很容易。

要将时间戳转换为纪元以来的秒数,编译一个 Java 类并将其添加到 h2 的类路径中,其中包含:

public class TimeFunc
{
  public static long getSeconds(java.sql.Timestamp ts)
  {
    return ts.getTime() / 1000;
  }
}

然后可以使用 CREATE ALIAS 在 h2 中链接 Java 代码中的函数:

CREATE ALIAS TIME_SECS FOR "TimeFunc.getSeconds";

SELECT TIME_SECS(CURRENT_TIMESTAMP);

产生:

TIME_SECS(CURRENT_TIMESTAMP())  
1255862217
(1 row, 0 ms)

关于sql - H2数据库。如何在sql中将日期转换为秒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1584495/

相关文章:

php - SQL 查询不打印 varchar/text 列

sql - Rails 搜索 SQL 查询

java - Wildfly 9.0.2 + H2数据库(jdbc :h2:file not showing tables)

java - H2 数据库,使用 Java CSVREAD 合并到表中

php - 在数组中使用 join 和 push 结果

mysql - 为多个选择计数 (*) 表设置列名称

SQL 字符串与 < 或 > 比较

Java H2 数据库 - 在服务器启动期间设置管理员密码

java - 如何在现有的 JHipster 应用程序中从 H2 DB 迁移到 Postgresql?

java - H2 控制台看不到 JAVA 创建的表