gpt4 book ai didi

hsqldb - HSQL 从 TIMESTAMP 获取日期和时间

转载 作者:行者123 更新时间:2023-12-02 22:27:01 24 4
gpt4 key购买 nike

我有一个 HSQLDB 表,其中包含一些信息以及存储时间戳的位置

我想从特定时间段中选择信息,例如 10 月上午 0 点到下午 5 点之间的每个信息。

我没有找到像 mysql'ones DATE(myfield) OR TIME(myfield) 这样的函数可以完美满足我的需求。

SELECT * FROM myTable 
WHERE DATE(myField) BETWEEN '2012-10-01' AND '2012-10-30'
AND TIME(myField) BETWEEN '00:00:00' AND '17:00:00'

我发现的唯一方法是使用 YEAR()、DAYOFMONTH()、DAYOFYEAR()、HOUR() 和 MINUTE() 函数,但我想知道是否没有其他更简单的解决方案。

最佳答案

HSQLDB 支持一般的 CAST 表达式,因此不需要专门的函数

CAST(myField AS DATE)
CAST(myField AS TIME)

HSQLDB 还支持从 DATE 到 TIMESTAMP 的自动转换。因此,可以在 myField 列上使用索引的优化查询应该如下所示:

SELECT * FROM myTable 
WHERE myField BETWEEN DATE'2012-10-01' AND DATE'2012-10-30'
AND CAST(myField AS TIME) BETWEEN TIME'00:00:00' AND TIME'17:00:00'

关于hsqldb - HSQL 从 TIMESTAMP 获取日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12816297/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com