我在Intime表中的数据很少,如2012/05/01 09:41 2012/05/05 09:47 2012/05/07 08:30 2012/05/09 08:45 2012/05/10 09:41,
由于我希望大于2012/05/01 09:30的数据查询将像
从Intime> 2012/05/01 09:30的表中选择Intime仅提取2012/05/01而不是09:30 Intime的数据类型是varchar2
答案 0 :(得分:0)
您需要将varchar2
列转换为date
,然后进行比较。你需要这样使用它:
SELECT TO_DATE (Intime, 'YYYY/MM/DD HH:MI') D_ATE
FROM TABLE
WHERE to_date(Intime ,'YYYY/MM/DD HH:MI') > to_date('2012/05/01 09:30','YYYY/MM/DD HH:MI');
演示:
with dt_tbl (Intime) as ( select '2012/05/01 09:30' from dual
UNION ALL
select '2012/05/01 09:42' from dual
UNION ALL
select '2012/05/01 09:29' from dual
UNION ALL
select '2012/05/01 09:35' from dual)
SELECT TO_DATE (Intime, 'YYYY/MM/DD HH:MI') D_ATE
FROM dt_tbl
WHERE to_date(Intime ,'YYYY/MM/DD HH:MI') > to_date('2012/05/01 09:30','YYYY/MM/DD HH:MI');