2016-09-28 6 views
-1

2012/05/01 09:2012/05/05 09:47 2012/05/01 09:41 같은 Intime 테이블에 데이터가 거의 없습니다. 05/07 8시 반 2012/05/09 8시 45분 2012/05/10 9시 41분,테이블에서 varchar 데이터를 검색하는 방법 : '2012/05/01 09:42'

내가 2012년 5월 1일보다 9시 반 쿼리가

같은 것보다 같은 데이터를 원하기 때문에

은 인 타임은> 2012년 5월 1일 9시 반은 가져 오는 경우에만 2012년 5월 1일하지 9시 반 인 타임의 데이터 유형은 당신은 0,123,871 변환해야 VARCHAR2

+0

가 당신에 대해 요구되는 언어와 시스템 말했다. –

+0

@ BrianTompsett- 汤 莱恩 Oracle 데이터베이스 및 JSP –

+1

Intime의 데이터 유형이 varchar2 인 경우 먼저 where 절이 작은 따옴표없이 평가되지 않습니다. 둘째로 결과 집합에 시간이 없다는 가능성이 있습니다. coulmn에 지정한 데이터가 있는지 확인하십시오. – XING

답변

0

입니다 테이블에서 인 타임을 선택 곳열을 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'); 

데모 : 당신은 havn't는

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'); 
+0

Intime 데이터 유형은 Varchar2입니다. –

+0

To_date 함수는 varchar를 date로 변환합니다. 자세한 내용은 http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions183.htm을 참조하십시오. – XING