Oracle - 从连接字段中获取MAX值

时间:2014-11-26 14:19:17

标签: oracle datetime max concatenation

我正在尝试检索已启动任务的最大日期时间,按task_code进行分组。 我已经尝试了以下查询来获取所有最大日期,但是日期和时间是两个不同的字段,如果我尝试连接的话,

MAX(DATEINI||' '||HOURINI) 

按组获取最新的日期时间,查询返回空。有可能做到这一点,我错过了什么吗?

SELECT DATEINI||' '||HOURINI AS STARTED, TASK, TASK_CODE
FROM TB_TASKS WHERE DATEINI IN 
  (SELECT MAX(DATEINI) FROM TB_TASKS GROUP BY TASK_CODE) 
ORDER BY DATEINI DESC, HOURINI DESC;

1 个答案:

答案 0 :(得分:0)

尝试使用日期而不是像这样的字符串:

SELECT DATEINI||' '||HOURINI AS STARTED, TASK, TASK_CODE
FROM TB_TASKS WHERE TO_DATE(DATEINI||' '||HOURINI,'DD/MM/YYYY HH:MI:SS') IN 
  (SELECT MAX(TO_DATE(DATEINI||' '||HOURINI,'DD/MM/YYYY HH:MI:SS')) FROM TB_TASKS GROUP BY TASK_CODE) 
ORDER BY DATEINI DESC, HOURINI DESC;

检查to_date格式是否取决于您的上下文。