java - Java 中 Postgresql 日期从时间戳到字符串

标签 java string postgresql date

我从 postgres 数据库中获取了格式为 yyyy-MM-dd 的时间戳作为日期。但问题是我必须获取两个日期之间的表条目,但日期格式没有 Between 运算符。

Select jiraissue.project as ProjectID, project.pname, coalesce(sum(worklog.timeworked),0) as timeworked
from jiraissue, worklog, project
where jiraissue.project = 11350 
and jiraissue.id = worklog.issueid and jiraissue.project = project.id
and date(worklog.updated) BETWEEN 2015-09-16 AND 2015-09-30
group by timeworked, project, project.id

现在 postgres 需要显式转换,可能转换为字符串,但如果日期也不起作用,则将 to_char 放在前面。有人可以帮助我吗?

最佳答案

这应该可以解决问题:

Select jiraissue.project as ProjectID, project.pname, coalesce(sum(worklog.timeworked),0) as timeworked
from jiraissue, worklog, project
where jiraissue.project = 11350 
and jiraissue.id = worklog.issueid and jiraissue.project = project.id
and date(worklog.updated) >= '2015-09-16'::date 
and date(worklog.updated) <= '2015-09-30'::date 
group by timeworked, project, project.id

假设您使用的是最新的稳定版本 (9.4),this section of the documentation涵盖日期/时间处理的主题。您可能还想检查SQL expressions for type casting ,这是解决方案中的 :: 位。

关于java - Java 中 Postgresql 日期从时间戳到字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32865968/

相关文章:

java - 我如何建模这样的东西? (科室与老师的关系)

java - 如何验证 string.split() 是否返回 null

c - 在 C 中发出返回字符串位置

django - 统计Django中具有一定值的相关对象的个数

SQL反加入删除优化

java - 无法使用 Spring 以编程方式创建 Postgres 数据源

java - 正则表达式在第二场比赛中重用了第一场比赛中的单词边界 - 为什么?

将一定数量的字符从一个指针复制到另一个指针

java - 将多个字符串组合成一个字符串,然后可以将其分离为原始字符串的智能方法?

java - 如何优雅地处理数千次 Quartz 失火?