정렬 함수 소스가 분실 되어 다시 만드려다 웹 페이지 검색으로 찾았습니다.
역시 저 보다 더 고민하고, 더 깔끔하게 만드는 사람들이 있었네요.
David Fetter라는 아저씨의 코드입니다. 물론 BSD 라이센스라 믿고, 올립니다.
출처: http://www.postgres.cz/index.php/PostgreSQL_SQL_Tricks
사용버전은 generate_series() 함수가 사용가능한 버전입니다.
CREATE OR REPLACE FUNCTION array_sort(anyarray)
RETURNS anyarray AS
$BODY$
SELECT ARRAY(
SELECT $1[s.i] AS "foo"
FROM
generate_series(array_lower($1,1), array_upper($1,1)) AS s(i)
ORDER BY foo
);
$BODY$
LANGUAGE 'sql' VOLATILE;
|