有点卡在这里。假设我运行以下 SQL 查询:
select to_char(sysdate, 'DD/MON/YY') || ' 15:32:00' from dual;
结果给了我这个:
08/NOV/12 15:32:00
现在我想获取该结果并在 to_date 函数中使用它(关于原因的长篇大论,但我会在一秒钟内详细介绍):
select to_date((to_char(sysdate, 'DD/MON/YY') || ' 15:32:00'), 'DD/MON/YY HH24:MI:SS') from dual;
我期望结果与前一个结果相同,但事实并非如此。相反,它给了我这个:
08/NOV/12
问题是这样的:有没有办法可以在 to_date 中使用 to_char(sysdate, 'DD/MON/YY') 和 HH24:MI:SS 的任何组合的串联?
可能有也可能没有任何其他用途的其他详细信息:我需要这样做的原因是因为向我提供了一个查询,该查询具有一个带有 SLA 时间的表。格式只是 HH24:MI 中的一个时间,但它不是 DATETIME 类型(我怀疑它是 VARCHAR,但无法确定,因为它可能是某种我无法剖析的视图或函数。部分原因是我由于我的数据库用户,不知道如何和部分地对我没有必要的访问权限。
编辑:再次阅读以上内容时,我意识到我遗漏了一些额外的细节(尽管我认为这与我的问题完全无关):我想取今天的日期(DD/MON/YY),将其与 SLA 时间结合起来的 HH:MI,将其与 :SS 的 ':00' 结合,将整个事物转换为日期,然后在返回的每一行的结果可憎和完成时间之间进行比较。如果完成时间比我的组合和转换豪华更大/更新/晚,则返回特定的内容,而不是返回类似“一切正常”的内容。不确定这是否有意义,但总而言之,我想得到一些可以用来与另一种 DATETIME 类型进行比较的东西,所以我认为我还需要以某种方式将 SLA 时间转换为 DATETIME 类型。
对此的任何帮助将不胜感激。