我有个约会(4/30/2012),一个小时(4)和一分钟(45)。我需要将其转换为Oracle日期时间值,以便在PLSQL / Oracle SELECT语句中进行比较。理想情况下,将有一个像这样的函数(C#,因为我知道的更好一些):

var date = "4/30/2012";
var hour = "4";
var minute = "45";
DateTime myDateTime = convertDateTime(date, hour, minute);


我有一个包含三列的表格来组成事件的日期和时间。我有另一个表,其中包含根据项目的开始日期和结束日期可能不匹配的项目。在伪SQL中,这是我想要做的事情:

SELECT
    G.Name,
    (SELECT MAX(Cost)
        FROM CrappyTable AS C
        WHERE G.StartTime < convertDateTime(C.Date, C.Hour, C.Minute)
        AND G.EndTime > convertDateTime(C.Date, C.Hour, C.Minute)) as Cost
FROM GoodTable as G
WHERE G.Price < 100.00;



或“选择名称和最高费用(从某个时间范围内的报告费用中选择)
价格低于$ 100的地方。”


是否有一个现有的功能可能会执行上述convertDateTime功能?

最佳答案

连接您的日期和时间字段,并将它们传递给TO_DATE(假设24小时制):

TO_DATE(date||' '||hour||':'||minute,'MM/DD/YYYY HH24:MI')


这会将您的日期/时间值转换为Oracle DATE类型。

10-07 19:10
查看更多