首页 文章

如何从Oracle / PLSQL中的部件创建日期时间?

提问于
浏览
3

我有一个约会(2012年4月30日),一小时(4)和一分钟(45) . 我需要将其转换为Oracle datetime值,以便在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 功能的现有功能?

2 回答

  • 9

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

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

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

  • 2

    要么:

    TO_DATE(date, 'MM/DD/YYYY') + hour/24 + minute/1440
    

相关问题