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

Max*_*Max 2 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
Run Code Online (Sandbox Code Playgroud)

小智 5

不,但如果需要,将功能添加到h2似乎很容易.

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

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

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

CREATE ALIAS TIME_SECS FOR "TimeFunc.getSeconds";

SELECT TIME_SECS(CURRENT_TIMESTAMP);
Run Code Online (Sandbox Code Playgroud)

生产:

TIME_SECS(CURRENT_TIMESTAMP())  
1255862217
(1 row, 0 ms)
Run Code Online (Sandbox Code Playgroud)