database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 40154 게시물 읽기
No. 40154
to_char(to_date 문의 드립니다.
작성자
김진
작성일
2013-06-07 14:57
조회수
6,949

안녕하세요.

컬럼이 varchar(8) 이고 날짜가 들어갑니다.

이를 yyyy.mm.dd 로 하고 싶어서

to_char(to_date(aaa,'yyyymmdd'), 'yyyy.mm.dd) 로 변경해서 select 를 하는데요

지정한 월이 부적합합니다라고 나오네요.

이상하게도 order by 빼면 이에러가 안나옵니다.

좀 이해가 안되는데요

그리고 varchar2인컬럼 데이터를 yyyy,mm.dd 로 찍을려면 substr으로 잘라서 "." 을 붙이는거방법 그리고위와같이

to_date로 했다가 다시 변경하는 방법

외에 또 무엇이 있는지요

이 글에 대한 댓글이 총 2건 있습니다.

REGEXP_REPLACE ( col, '^([0-9]{4})([0-9]{2})([0-9]{2})', '\1.\2.\3' )

채용근(taiji97)님이 2013-06-10 13:11에 작성한 댓글입니다.

지정한 월이 부적합하니 해당 오류 자료만 찾아 고치면 되겠네요.
SELECT *
  FROM t
 WHERE SUBSTR(dt, 5, 2) NOT BETWEEN '01' AND '12'
;


ORDER BY 가 있을때는 에러나고 없으면 에러 안나는 이유는?
(전체범위 처리와 부분범위처리의 차이) + FETCH SIZE 때문입니다.
토드를 예를 들면 500건만 패치하고 다음 패치 대기합니다.
부분범위 처리의 경우엔 500건만 to_date 함수 적용 받아
패치 안된 자료는 아직 to_date 함수 적용 안됩니다.
계속 스크롤 내리다 보면 결국 에러를 만나게 됩니다.
반면에 전체범위 처리(Order By) 의 경우엔
to_date 가 모든 행에 적용된후 정렬하고 fetch 합니다.

마농(manon94)님이 2013-06-10 20:00에 작성한 댓글입니다.
이 댓글은 2013-06-10 20:00에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
40158관계된 하위 리스트의 갯수 가져오기 [3]
바램
2013-06-13
6583
40157Where 절 작성법? (LIKE?) 초보적질문 [5]
푸르미
2013-06-13
6531
40156고수님들 부탁드립니다. [1]
마르스헤븐
2013-06-11
6061
40154to_char(to_date 문의 드립니다. [2]
김진
2013-06-07
6949
40153작업 스케쥴러 등록 오류 나옵니다. [1]
초보자
2013-06-07
6653
40152Function 이나 Procedure 에서 Web Service 수행 [1]
박희영
2013-06-05
7288
40151오라클 RAC ODBC 등록방법
완전초보
2013-06-05
6519
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다