【问题标题】:From_unixtime in derby and hsqldbderby 和 hsqldb 中的 From_unixtime
【发布时间】:2012-01-28 21:54:15
【问题描述】:

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

【问题讨论】:

    标签: mysql hibernate junit hsqldb derby


    【解决方案1】:

    FROM_UNIXTIME 确实是 MySQL 特有的。

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

    TIMESTAMP( <second value> )
    

    例如:

    调用时间戳(1000000000)返回 2001-09-09 01:46:40.0

    HSQLDB 2.2.6 还支持 MySQL 语法兼容模式,其中包括为 MySQL 编写的 SQL 语句的几种自动转换。

    【讨论】:

      【解决方案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

      【讨论】:

        猜你喜欢
        • 2011-03-08
        • 2012-12-02
        • 2011-04-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-11
        • 2013-08-19
        相关资源
        最近更新 更多