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
운영게시판
최근게시물
Sybase Q&A 1694 게시물 읽기
No. 1694
max값에 +1 하는 방법 좀 갈켜주세요..
작성자
초보
작성일
2006-10-18 15:15
조회수
7,474

안녕하세요 .... 현재 max값에 +1을 하고 싶은 사람입니다. 

물론 초보입니다. 왜 이렇게 힘든지.. 그러나 열심히..


현재 오라클에서 


select trim(nvl(to_char(to_number(max(substr(emp_id,9,4)))+1,'0000'),'0001'))

from emp


=> 제가 작성한 sql문입니다. 

select isnull(max(right(emp_id,4)),'0001') from emp 요기까지 성공했습니다.



이 구문을 sybase로 변경할려고 합니다. 


emp_id는 현재 datatype이 varchar입니다. 

근데 nvl => isnull , max는 동일, substr => right을 사용해서 되었습니다. 

근데 max값을 구한후에 이 값을 to_number로 변경할려고 하닌깐... 

convert을 이용하면 아래와 같은 에러 메세지가 나옵니다. 


=>select isnull(convert(int,max(right(emp_id,4)))+1,'0001') from emp

을 실행시키면

=> Implicit conversion from datatype 'VARCHAR' to 'INT' is not allowed.  Use the CONVERT function to run this query. 

변환할 수 없다는 얘기인것 같은데??

방법이 없을까요?? 고수님들의 도움 요청드립니다.




이 글에 대한 댓글이 총 5건 있습니다.
select
        isnull(
              cast(cast(
                                max(substring('12345678901234567890',9,4))
                                as integer
                                )
                                +1
                      as char(4)
                      )
              ,'0001'
        )

*
nvl -> isnull 
to_number,to_char -> cast( xx as type )
장종훈님이 2006-10-18 15:24에 작성한 댓글입니다. Edit

정말 감사합니다. ^^*
즐거운 하루되세요......

초보님이 2006-10-18 17:19에 작성한 댓글입니다. Edit

cast라는 function이 ASE인가요?  IQ인가요?

메세지는 ASE인거 같은데...

좋은 function배워갑니다

지연님이 2006-10-18 21:24에 작성한 댓글입니다.
이 댓글은 2006-10-18 21:24에 마지막으로 수정되었습니다. Edit

이렇게 해보세요

------------------------------------------------------

select


right(convert(char(5), 10000 + isnull(max(emp_id),0) + 1), 4)


from emp



존넘님이 2006-10-19 11:08에 작성한 댓글입니다. Edit

IQ에서만  되던 case right가 이제 ASE도 되는 군요~~세상은 좋아지고

기술은 발전하는데


이제 syntax도 가물가물~~

지연님이 2006-11-07 18:55에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1697백업을 하는데 이런 메세지가 나옵니다. 도와주세요 [2]
초보자
2006-10-23
4535
1696에러좀 봐주세요.. [1]
초보sybase
2006-10-20
5135
1695에러메세지 좀 갈켜주세요 [1]
초보
2006-10-18
5362
1694max값에 +1 하는 방법 좀 갈켜주세요.. [5]
초보
2006-10-18
7474
1693아웃조인에 관한 질문입니다. [1]
임영진
2006-10-17
6037
1692Table의 Lock Type확인 방법 [4]
달나라
2006-10-16
8963
1691select 결과 개수가 이상하게 나옵니다. [3]
이정경
2006-10-14
5489
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다