postgresql razeni
Petr Jelinek
pjmodos na seznam.cz
Středa Listopad 16 16:08:07 CET 2005
Honza Pazdziora napsal(a):
> - nebo misto pouziti standardniho order by pouzit nejakou funkci, ktera
> hodi retezce s cislicemi na zacatek, at uz dynamicky, nebo nejakym
> pomocnym atributem v tabulkach.
>
Muzete si napsat funkci ktera jen nahradi cisla necim co se radi pred
textem a tu pak pouzit v order by, pripadne v indexu neco jako
CREATE FUNCTION number_replace(text) RETURNS text
AS $_$SELECT
replace(replace(replace(replace(replace(replace(replace(replace(replace(replace($1,
'0', '#0'), '1', '#1'), '2', '#2'), '3', '#3'), '4', '#4'),
'5', '#5'), '6', '#6'), '7', '#7'), '8', '#8'), '9', '#9')$_$
LANGUAGE sql IMMUTABLE;
by mohlo fungovat (jen nevim jestli se # zrovna radi pred pismena), to
IMMUTABLE je dulezite pokud chcete delat index
pak je mozne pouzit
SELECT * FROM tabulka ORDER BY number_replace(sloupec);
nebo
CREATE INDEX tabulka_sloupec_idx ON tabulka (number_replace(sloupec));
--
Regards
Petr Jelinek (PJMODOS)
www.parba.cz
Další informace o konferenci Databases