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
운영게시판
최근게시물
PostgreSQL Q&A 5095 게시물 읽기
No. 5095
배열 요소를 " 로 감싸게 하려면 -.-; 어떤 옵션을 줘야 하는지요?
작성자
신기배(nonun)
작성일
2003-12-11 19:34
조회수
1,423

안녕하세요~

간만에 질문을 ^^;;

 

netitup=# create table test (a int[], b text[]);
CREATE TABLE

 

netitup=# INSERT INTO test values('{1,2}','{"aa",2}');
INSERT 25371 1
netitup=# SELECT * from test;
   a   |   b
-------+--------
 {1,2} | {aa,2}

(1 row)

 

여기까지는 " 로 안감싸도 된다고 이해하겠습니다 -.-

 

netitup=# INSERT INTO test values('{1,2}','{"aa aa",2}');
INSERT 25372 1
netitup=# SELECT * from test;
   a   |      b
-------+-------------
 {1,2} | {aa,2}
 {1,2} | {"aa aa",2}
(2 rows)

netitup=# INSERT INTO test values('{1,20}','{"aa aa",2}');
INSERT 25373 1
netitup=# SELECT * from test;
   a    |      b
--------+-------------
 {1,2}  | {aa,2}
 {1,2}  | {"aa aa",2}
 {1,20} | {"aa aa",2}
(3 rows)

netitup=# INSERT INTO test values('{1,20}','{"aa aa",aa}');
INSERT 25374 1
netitup=# SELECT * from test;
   a    |      b
--------+--------------
 {1,2}  | {aa,2}
 {1,2}  | {"aa aa",2}
 {1,20} | {"aa aa",2}
 {1,20} | {"aa aa",aa}
(4 rows)

어떨때 " 로 감싸지는지 이해는 할 수 있는데요..

모든 요소에 " 로 감싸게 하는 방법은 없는지요 -.-;;

응용프로그램에서 pgsql의 배열을 실제 배열로 파싱하려는데 저렇게 나와버리니 난감스럽네요 -_-;

요소 안에 , 라도 들어있으면 파싱하기가 여간 곤란스러워서 -_-; "," 로 문자열을 자르려니 숫자나 공백(특수문자 포함)없는 문자열들은 " 가 붙지 않고..

아주 그냥 죽겠습니다 =_=;

 

해결 방법이 꼭 좀 있었으면 -.-;;

그럼~

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

걍 파서를 수정해서 문자열 앞뒤에 " 의 갯수를 세어서 짝수(그래봤자 0이나 2 -.-;) 면 진행하고 아니면 다음 문자열에 붙여서 하는.. 뭐 그런 방식으로 했습니다 -.-;;

아.. 좀 불안하네여 ^^;;

conf 나 어딜 찾아봐도 이런 방법은 없는 듯 싶습니다..

신기배(nonun)님이 2003-12-12 15:58에 작성한 댓글입니다.

7.4에서는 array_to_string 관련 함수가 있어서 비교적 쉽게 문제를 해결 할 수 있는데, 이하 버전에 대해서는 array_to_string 함수를 하나 만들어서 사용하시면 될거에요. 만드는 방법은 devel 안에 있는 1차원 정수형 배열 자료형 함수 처리 방법을 응용해서 만들면 비교적 쉽게 만드실 수 있을겝니다.

 

개인적으로 저는 그냥 배열 text 자료형일 경우는 그냥, 입력 차원에서 쉼표를 사용하지 못하도록 해버렸습니다. 그리고는 쉼표로 split 하면 되니. :)

 

김상기(ioseph)님이 2003-12-12 20:16에 작성한 댓글입니다.

지금 집밖에서 작업하다보니 -.-

맥노트북에 pgsql을 깔아서 쓰고 있습니다.. 아직 fink 프로젝트에 7.4 등록이 되지 않네여 ^^;;

fink의 도움이 없으면 왠만한 패키지 설치하기가 힘들어서 ㅠ_ㅠ;

그래서 확장완성형 허용하는 거시기도 못하고 있습니다 ㅎㅎ

감사합니다~ 나중에 서버 세팅할때는 7.4.1 이상이 나와있을테니 -.- 그땐 그걸 쓰면 되겠네여 ㅎㅎ

신기배(nonun)님이 2003-12-14 22:05에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
5099사용자 함수를 공유할려면? [2]
초보
2003-12-13
1389
5098DSN에 사용된 소스에 관해.. [1]
부엉
2003-12-12
1249
5097pgsql에서 '아햏햏' 입력하기... 확장 완성형 문제 해결 방법? [9]
박성철
2003-12-12
3202
5095배열 요소를 " 로 감싸게 하려면 -.-; 어떤 옵션을 줘야 하는지요? [3]
신기배
2003-12-11
1423
5093인덱스 스캔이 안되요 ㅜ_ㅜ 제발 도와주세요 [1]
초보에용
2003-12-11
1313
5092[참고] PostgreSQL Manager tools 하나 소개합니당. [4]
이현희
2003-12-11
2104
5091Postgre7.4의 백업시 질문입니다. [2]
재훈
2003-12-10
1793
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다