AM / PM查询和比较

时间:2013-11-21 04:45:30

标签: sql oracle jsp

任何人都可以帮我解决这个问题吗? 我有一个允许用户选择时间的表单。例如,表单上的时间格式是上午7:00,下午8:00,晚上9:00,而Oracle数据库中的时间格式是varchar2 7:20,8:30,9:20 varchar2 am,pm,pm。我想在jsp中使用request.getParemeter,我想知道如何比较时间。假设我想让用户选择在晚上8点之前选择课程?如何生成查询以及如何比较时间以确定是在晚上8点之前还是在晚上8点之后?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

以下是如何在SQL中执行此操作 - 希望您可以将其集成到JSP中。

SQL Fiddle

Oracle 11g R2架构设置

CREATE TABLE CLASSES (name, hour, meridian) AS
          SELECT 'Minions for Dummies',            '07:20', 'AM' FROM DUAL
UNION ALL SELECT 'Evil Genius 101',                '08:30', 'PM' FROM DUAL
UNION ALL SELECT 'Superhero and Their Weaknesses', '09:20', 'PM' FROM DUAL;

查询1

SELECT name, hour, meridian
FROM   CLASSES
WHERE  TO_DATE( hour || ' ' || meridian, 'HH:MI AM' )
         <= TO_DATE( '09:00 PM', 'HH:MI AM' )

<强> Results

|                NAME |  HOUR | MERIDIAN |
|---------------------|-------|----------|
| Minions for Dummies | 07:20 |       AM |
|     Evil Genius 101 | 08:30 |       PM |
相关问题