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 6874 게시물 읽기
No. 6874
초보의 function 만들기 도움 요청 ^-^
작성자
롱다리
작성일
2006-10-30 20:36
조회수
5,922

만들고자 하는 함수는 형변환을 위한 함수 입니다.

이전 게시판 중에 보면 예제가 나와 있는것이 있는데요 ...

CREATE OR REPLACE FUNCTION text2char(text,) RETURNS char AS'
select $1::char(8) ;
'LANGUAGE 'sql';

입니다. 들어온 text를 char(8) 로 만들어서 char로 리턴해주는 함수의
예제 였습니다.....

이것을 조금 응용해서 
CREATE OR REPLACE FUNCTION text2char(text,integer) RETURNS char AS'
select $1::char($2) ;
'LANGUAGE 'sql';

이렇게 -_- (허접함니다) ....

만들고자 하는 함수의 요지는 text와 길이(integer)를 넘기면
char(길이 만큼) 로 리턴해주는 함수를 만들려고 하는데요 . . .
처음 해보는 거라 개념이 ... ^-^(죄송) 
도움을 부탁드립니다... 감사.... ^-^ 

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

CREATE OR REPLACE FUNCTION text2char(text,int) RETURNS char AS
$$
    SELECT SUBSTR($1,1,$2) ;
$$
LANGUAGE 'sql';

이렇게 써야 합니다.  SELECT $1::CHAR($2) 처럼 하는 것은 지원되지 않습니다.
초보대왕님이 2006-10-30 21:05에 작성한 댓글입니다. Edit

::char($2) <- 요기서 에러가 발생하겠군요~

특정 글자수만큼 자르고 싶으신거라면 substring 함수를 써보시는건 어떨까요?
아니면 pl/pgsql 로 작성하셔야 합니다. 요렇게요

CREATE OR REPLACE FUNCTION text2char(TEXT, INTEGER) RETURNS CHAR AS
$body$
begin
  return substring($1 for $2);
end;
$body$
LANGUAGE 'plpgsql' VOLATILE RETURNS NULL ON NULL INPUT SECURITY INVOKER;
substring 으로 $2 만큼 자른 후에 그냥 리턴하면 리턴 타입이 char 이기 때문에 알아서 데이터 타입을 캐스팅 해줍니다... (아마도?;;)

신기배(소타)님이 2006-10-30 21:12에 작성한 댓글입니다.

초보대왕님 , 기배님 감사 . .  ^^

많은 분들 덕분에 포스를 잘사용하고 있습니다. ^-^ .. . 

욕심은 많은데 능력이 짜쳐서 고만고만 하게 사용하고 있습니다.
좋은 포스가 저한테 와서 고생하는것 같아 미안한 마음이
들 정도 네요 . . .  

초보대왕님, 기배님 다시한번 감사드립니다. ^^

롱다리님이 2006-10-31 07:31에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
6877Windows CE에서 pgSQL서버에 접속할 수 있나요 ? [1]
임용성
2006-11-01
4201
6876PostgreSQL 8.2 Beta2 릴리즈~ [3]
신기배
2006-11-01
4148
6875StreamServerPort: gethostbyname(*) failed [6]
손상혁
2006-11-01
4443
6874초보의 function 만들기 도움 요청 ^-^ [3]
롱다리
2006-10-30
5922
6873파일로 퀴리 입력시 에러 발생 [4]
조성남
2006-10-30
6512
6872insert가 갑자기 안됨니다. -_-; [3]
김성운
2006-10-30
4620
6871급질> 문장 속에 단어 찾기... [5]
2006-10-30
4108
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다