h2콘솔로 오라클 DB접속하여서 저장되어 있는 값을 조회하려고 합니다.
그래서 select * from 테이블명 해서 조회했더니
날짜를 저장하는 곳에 10자리숫자로 되어 있습니다.
ex) 1397316900, 1397316960
그래서 일정 기간의 날짜만 where 조건으로 검색해서 조회하려고 하는데
SELECT * FROM 테이블명
WHERE TO_CHAR(컬럼명, 'YYYY-MM-DD') >= TO_CHAR(컬럼명, '2015-11-12') AND TO_CHAR(컬럼명, 'YYYY-MM-DD') < TO_CHAR(컬럼명, '2015-11-13')
로도 해보고
SELECT * FROM 테이블명 WHERE TO_CHAR(TO_DATE(컬럼명, 'YYYY-MM-DD'), 'YYYY-MM-DD') >= TO_DATE(TO_CHAR(컬럼명, '2015-11-12'), '2015-11-12') AND TO_CHAR(TO_DATE(컬럼명, 'YYYY-MM-DD'), 'YYYY-MM-DD') < TO_DATE(TO_CHAR(컬럼명, '2015-11-13'), '2015-11-13')
로도 해보았는데
위에 쿼리 에러 : ORA-01481: invalid number format model
아래 쿼리 에러 : ORA-01861: literal does not match format string
가 납니다... 어떻게 해결하나요???ㅜㅜ
오라클은 모르지만 -_-;
1. 위의 쿼리
WHERE TO_CHAR(컬럼명, 'YYYY-MM-DD') >= '2015-11-12' AND TO_CHAR(컬럼명, 'YYYY-MM-DD') < '2015-11-13'>= < 방법도 있고WHERE TO_CHAR(컬럼명, 'YYYY-MM-DD') Between '2015-11-12' And '2015-11-12'저 형태도 가능해요..참고만 하세요.하나의 데이터만 출력하려고 합니다.
밑에 있는 between 방식으로 한번 해봐야겠네요 ㅎㅎ
감사합니다^^
ㄴ 16:09 : 다시 해봤는데 위에 에러하고 똑같은 에러가 나네요ㅠㅠ 2일째 해결을 못하고 있어요
아 -_-;;; 10자리 숫자군요..
http://www.gurubee.net/article/22371
http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_db&wr_id=156659
상기 링크 참고해보세요..
SELECT TO_DATE('1970-01-01 09:00:00','YY-MM-DD HH24:MI:SS') + (1267475388 / 86400)
FROM DUAL
저리 되 있는걸로 봐서..
WHERE TO_CHAR(TO_DATE('1970-01-01 09:00:00','YYYY-MM-DD HH24:MI:SS') + (컬럼명 / 86400), 'YYYY-MM-DD') Between '2015-11-12' And '2015-11-12'
저리 바꾸면 될거 같기는 한데..
오라클을 안써봐서 모르겠네요^^;;
SELECT TO_DATE('1970-01-01','YY-MM-DD') + (컬럼명 / 86400)
FROM 테이블명
이렇게 하니까 되더라구요ㅠㅠ
여기에서 해당 테이블에 저장된 모든 값을을 조건 하나를 걸어서 불러올수 있게는 어떻게 하나요??
ex) 1397316900, 1397316960
위의 값이 정확히 어떤값인지 부터 확인하셔야 될 것 같아요.
위의값이 지금말씀드리는 형식과 같지 않겠지만
만약 형식이 년월일시간분(ex 오늘 : 1511131709)
라면 to_date(컬럼명, 'YYYYMMDDHH24MI') 로 하시면 될 것 같아요.
댓글 작성하고 고민을 좀더 하니까 해결되었습니다
다시 댓글을 수정했는데 그건 모르겠어요ㅠㅠ
-- 컬럼을 가공하여 조건의 형식에 맞추는건 비효율이죠.
-- 조건을 가공하여 컬럼의 형식에 맞추세요.
WHERE 컬럼 >= (TO_DATE('2015-11-12', 'yyyy-mm-dd') - TO_DATE('1970-01-01', 'yyyy-mm-dd')) * 24*60*60
AND 컬럼 < (TO_DATE('2015-11-13', 'yyyy-mm-dd') - TO_DATE('1970-01-01', 'yyyy-mm-dd')) * 24*60*60
;
감사합니다^^