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 38563 게시물 읽기
No. 38563
이런것도 쿼리로 되는지요?
작성자
김태혁
작성일
2011-05-20 10:19ⓒ
2011-05-20 10:20ⓜ
조회수
3,786

a 라는 필드의 값이 20000131 이렇게 있을 경우 b라는 필드의 값이 8이면 a 라는 필드의 값을 20080131 로 변경하고 싶습니다.

만약 b라는 필드의 값이 6이면 20060131 이 되는거구요,  b 필드의 값에 따라 a 라는 필드의 값을 바꾸고 싶은데 쿼리를 어떻게

만들어야 할지 많은 조언 부탁드립니다.

그럼 오늘도 좋은 하루 되세요!

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

UPDATE table명 SET a =  substr(a,1,3)||b||substr(a,5)

dol님이 2011-05-20 11:31에 작성한 댓글입니다. Edit

답변 감사합니다. 

김태혁님이 2011-05-20 12:47에 작성한 댓글입니다.
이 댓글은 2011-05-20 12:53에 마지막으로 수정되었습니다. Edit

WITH t AS
(
SELECT '20000131' a, 8 b FROM dual
UNION ALL SELECT '20000131', 6 FROM dual
)
SELECT a, b
     , TO_CHAR(ADD_MONTHS(TO_DATE(a, 'yyyymmdd'), b * 12), 'yyyymmdd') c
  FROM t
;

마농(manon94)님이 2011-05-20 13:20에 작성한 댓글입니다.

무결성 오류는 중복에러입니다

transdate가 key 라서 같은 값으로 한건이상 있을수 없다는 뜻입니다.

데이타를 확인하시고 작업하시면 될것 같네요.

예를 들어)
transdate   b    갱신될값
--------   --    --------
20000101    6    20060101
20010101    6    20060101  ==> 중복에러

 

dol님이 2011-05-20 13:25에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
38566.fmb 파일 컴파일 어떻게 하나요?
qa
2011-05-24
3451
38565redolog파일이 깨졌는데, 어떻게 DB 복구 하나요? [2]
타산지석
2011-05-23
4610
38564부탁드립니다. [1]
윤상필
2011-05-23
3744
38563이런것도 쿼리로 되는지요? [4]
김태혁
2011-05-20
3786
38562쿼리질문..한문장으로 해결방법...
한상원
2011-05-19
3410
38561초보적인 스크립트 실행 질문입니다. [2]
질럿
2011-05-18
3403
38560[질문]최근일자 구하기 [2]
물새
2011-05-18
3708
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다