任何人都可以帮我解决这个问题吗? 我有一个允许用户选择时间的表单。例如,表单上的时间格式是上午7:00,下午8:00,晚上9:00,而Oracle数据库中的时间格式是varchar2 7:20,8:30,9:20 varchar2 am,pm,pm。我想在jsp中使用request.getParemeter,我想知道如何比较时间。假设我想让用户选择在晚上8点之前选择课程?如何生成查询以及如何比较时间以确定是在晚上8点之前还是在晚上8点之后?
任何帮助将不胜感激。
答案 0 :(得分:0)
以下是如何在SQL中执行此操作 - 希望您可以将其集成到JSP中。
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 |