如何检索 table 中的 varchar 数据 ex: '2012/05/01 09:42'

How to retrieve varchar data in table ex: '2012/05/01 09:42'

我在 Intime 的数据很少 table 像 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 查询将像

select Intime 来自 table 其中 Intime>2012/05/01 09:30 它只获取 2012/05/01 而不是 09:30 Intime 的数据类型是varchar2

您需要将 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');