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 784 게시물 읽기
No. 784
숫자를 일정 길이로 저장하는 방법
작성자
류자현
작성일
2003-12-05 15:26
조회수
5,778

DB에 일련번호를 저장하는데 반드시 세자리로 저장하고 싶습니다.

 

1이면 001, 43이면 043 . 이런식으로요.

 

다른 DB에서는 displaysize 로 지정할 수 있는데 sybase에서는 어떻게 해야하는지 모르겠습니다.

답변 좀 부탁드립니다.

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

sybase에서 그렇게 저장 하실순 없고

 

나중에 조회할때 로직에 의해 처리할수 밖에 없습니다

지연님이 2003-12-06 09:28에 작성한 댓글입니다. Edit

저도 이곳에서 얻은 정보입니다.

sybase를 사용하다 보면 oracle의 rpad, lpad기능이 아쉬울 때가 많았었는데
아래와 같이 하면 해결이 되더군요.
여기서 3은 원하는 총 자리수 입니다.
필드명  : brancd
trim을 해주는 이유는 공백때문에  "00    2" 처럼 나올수 있기때문입니다.


먼저 lpad


1> select replicate('0', 3-char_length(ltrim(rtrim(brancd)))) + ltrim(rtrim(brancd))
2> from br_tbl
3> where brancd = '2'
4> go
-----------------------
002


그리고 rpad

1> select ltrim(rtrim(brancd)) + replicate('0', 3-char_length(ltrim(rtrim(brancd))))
2> from br_tbl
3> where brancd = '2'
4> go
-----------------------
200

이렇게 select하여 insert 하면 될듯 싶은데요...

김훈규(mtl007)님이 2003-12-10 17:07에 작성한 댓글입니다.

5자리 숫자로 만들고 싶을 때.... 삽질입니다

declare @key varchar(10), @key_cnt int, @finalKey char(5)
select @key='50'
select @key='00000'||@key, @key_cnt = len('00000'||@key)
select substring(@key, @key_cnt-4, 5)

6자리로 만들고 싶을 때는 윗부분의 4를 5로 바꿔 주시고, 5를 6으로 바꾸면 됩니다.

kohbongsu님이 2004-03-09 18:33에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
787db가 자꾸 죽습니다.
mr
2003-12-08
3725
786SyBase 에서 ID와 PASSWORD 를 잊으셨나요? 그럼 MAIL 주세요..
최한들
2003-12-08
3839
785data base link 하는것 좀..알려주세요~ ^^ [1]
teriness
2003-12-06
4313
784숫자를 일정 길이로 저장하는 방법 [3]
류자현
2003-12-05
5778
783oledb 설정문제. [1]
미라
2003-12-05
3856
782혹시 바로 데이타 옮기는 명령 있나요?? [1]
강상인
2003-12-02
3830
781unix 서버에 접속이 안되요.. [4]
궁금이..
2003-11-28
3735
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다