德比和hsqldb中的From_unixtime

时间:2011-12-28 03:43:26

标签: mysql hibernate junit hsqldb derby

我正在使用derby和hsqldb对我的代码进行单元测试。在我的代码中,我使用的是HQL(hibernate查询语言)。在这些查询中,我使用from_unixtime(timestamp)从时间戳中提取日期时间。似乎derby anf hsqldb不支持from_unixtime。另外,在我看来from_unixtime是mysql特有的功能。这有多正确?如何使用derby或hsqldb测试我的hql查询(包含from_unixtime(timestamp)函数?

2 个答案:

答案 0 :(得分:2)

FROM_UNIXTIME确实特定于MySQL。

HSQLDB 2.2.6及更高版本支持此功能将unix时间(以秒为单位)转换为日期时间值:

TIMESTAMP( <second value> )

例如:

call timestamp(1000000000)返回2001-09-09 01:46:40.0

HSQLDB 2.2.6还支持MySQL语法兼容模式,该模式包括为MySQL编写的SQL语句的多个自动转换。

答案 1 :(得分:2)

在Derby中,您可以使用JDBC转义函数TIMESTAMPADD将您的间隔(以秒为单位)添加到1970年1月1日的基本时间戳。以下是一些文档:http://db.apache.org/derby/docs/10.8/ref/rrefjdbc88908.html以下是来回翻译的一些讨论在MySQL技术和Derby技术之间:http://objectmix.com/apache/646986-mysql-to_days-emulation-derby.html