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 4211 게시물 읽기
No. 4211
Re: 배열 자료형에 조작에 대하여.
작성자
김상기(ioseph)
작성일
2002-05-28 12:19ⓒ
2003-09-02 15:30ⓜ
조회수
1,087

제가 관심가지는 부분인데,

제가 아는 범위내에서 답을 드리면,

 

배열 자료형의 마지막 원소를 뽑아내는 것,

배열 자료형의 통계관련 함수등에 대한 해결책은,

 

이것들의 답은 없습니다. :(

이것을 해결 하려면, plpgsql 놈으로는 힘들것같고,

plpython 이나, plperl 같은 문자열 처리가 비교적 자유로운 pl로 배열 필드를 문자열로 읽어서, 내부적으로 조작을 하고, 그 결과를 넘겨주는 형태의 pl 함수가 필요할 것같습니다.

 

그렇지 않다면, PostgreSQL 내부 C API를 이용해서, 배열을 C의 배열로 처리해서, 우짜고 저짜고, 해서, 리턴하는 C로 만들어진 함수가 필요할겝니다.

 

안그래도, 아래 배열 관련 문서들을 살펴보시면 아시겠지만(지금 검색이 되지 않아서, 일일히 찾아봐야겠지만) PostgreSQL 놈의 배열 자료형은 자료형만 제공하고 있지, 그 배열 조작에 관련된 함수들이 너무 없습니다.

그래서, 몇가지 제안들과, 꽁수들, 현재까지의 문제를 풀어가는 방법등이 제가 틈틈히 올리고는 있는데, 아주 깔끔한 답이 없습니다.

(열받는 김에 직접 만들겠다고, 소스를 뒤지다가 게을러서 못하고 있는 실정이구요)

 

배열의 sum 값 구하는 것 또한 같은 맥락입니다.

 

정말 필요하시다면, plpython으로 제가 도와드릴 수는 있을 것같은데, 해봐야지 알겠네요.

아니면, 이참에, 한번 도전해 보세요. C로 만든다면, 더할 나위없이 좋구요.

 

 

>>

>> =# SELECT log_pay from tb_customer_log where uid=5;

>> log_pay

>> ---------------------

>> 10000,10000,10000 //역시 { 랑 } 가 -_-;

>> (1 row)

>>

>> =# SELECT array_dims(log_pay) from tb_customer_log where uid=5;

>> array_dims

>> ------------

>> [1:3]

>> (1 row)

>>

>> 위와 같을때 log_pay 의 원소들의 합을 구할수 없을까요? 타입은 integer입니다.

>>

>> 혹시 CREATE FUNCTION 을 이용해서 만들어야 하나요? 제가 아직 pl/pgsql 까지는 해보질 못해서 난감합니다. 필요하다면 공부해야겠죠 ^^;;

>> 혹시나 존재하는 방법이 있을까봐 질문 드립니다.

>> 답변부탁드립니다~ 그럼 ^^;

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

답변 감사합니다~ ^0^)/

^^;; 아아.. 난 언제 고수가 되지 -_-;;

수고하세요~

소타님이 2002-05-29 08:28에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
4218postgres에서요 덤프를 하는데 이상한에러가.. [1]
김현수
2002-05-31
1002
4217[질문]cygwin 설치방법중에서 [1]
정석
2002-05-30
909
4212부팅시 PostgreSQL 자동실행... [2]
래리버드
2002-05-28
2876
4210마지막 배열원소를 리턴하는 펑션
소타
2002-05-28
974
4211┕>Re: 배열 자료형에 조작에 대하여. [1]
김상기
2002-05-28 12:19:06
1087
4209postgreSQL 에서.... 연결이 안되는데... [2]
pipiband
2002-05-27
1403
4208두개의 서버에서 mysql 과 pgsql을,.... [1]
이은형
2002-05-24
914
4207function 문제인데여... [1]
황준상
2002-05-24
931
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다