<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Forum PostgreSQL - ilość miesięcy]]></title>
	<link rel="self" href="http://forum.postgresql.org.pl/extern.php?action=feed&amp;tid=283&amp;type=atom"/>
	<updated>2009-09-01T12:45:05Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.postgresql.org.pl/viewtopic.php?id=283</id>
		<entry>
			<title type="html"><![CDATA[Odp: ilość miesięcy]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=1228#p1228"/>
			<content type="html"><![CDATA[dzięki, 
rzucę okiem na planet, nie byłem tam jeszcze]]></content>
			<author>
				<name><![CDATA[adamleon]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=873</uri>
			</author>
			<updated>2009-09-01T12:45:05Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=1228#p1228</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: ilość miesięcy]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=1227#p1227"/>
			<content type="html"><![CDATA[W postgresie klika lat, ale co dzień dowiaduje się jak mało wiem :).

Nie ma chyba czegoś takiego jak 
[quote]
ciekawe i proste przykłady do nauki
[/quote]
jednak wciąż najlepsza jest dokumentacja, własne doświadczenia no i fora internetowe.
Jest kilka niezłych forów internetowych a na stronie postgresq.org jest postgres planet gdzie często piszą ciekawe rzeczy.
Postgres jako darmowa baza danych wciąż jest chyba mało popularny w środowiskach produkcyjnych ale trzeba uczciwie przyznać że wydajnościowo wciąż przegrywa z orcale'm, chociaż ma trochę feature'ów których mi brakuje w oracle'u.
Wierz mi że jest wiele rzeczy w których postgres jest lepszy niż mysql (ale przyznaję szczerze nie leży mi mysql więc nie jestem obiektywny).]]></content>
			<author>
				<name><![CDATA[rski]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=26</uri>
			</author>
			<updated>2009-09-01T12:41:19Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=1227#p1227</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: ilość miesięcy]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=1226#p1226"/>
			<content type="html"><![CDATA[dzięki, działa

długo siedzisz w postgresql?

może masz jakieś namiary na ciekawe i proste przykłady do nauki, dokumentacja jakoś mi nie leży, najlepsze są przykłady dla opornych :-)

W ogóle zauważyłem, że nie ma za dużo postów na temat postgresql-a. Wnioskuję, że albo wszyscy wszystko wiedzą, albo nie jest to popularna baza. Dla mnie przewagą nad mysql jest to że postgres obsługuje role co jest super sprawą. Do tej pory działałem w Accessie i tam grupy ułatwiają zycie.]]></content>
			<author>
				<name><![CDATA[adamleon]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=873</uri>
			</author>
			<updated>2009-09-01T12:23:21Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=1226#p1226</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: ilość miesięcy]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=1225#p1225"/>
			<content type="html"><![CDATA[Powinno działać
[code]
postgres=# create function month_between(date,date) returns float as 'select abs(extract(year from age($1,$2))*12 + extract(month from age($1,$2))); ' language 'sql';
CREATE FUNCTION
postgres=# select month_between('03-03-2003','02-02-2002');
 month_between 
---------------
            13
(1 row)

postgres=# select month_between('01-01-2003','03-03-2004');
 month_between 
---------------
            14
[/code]]]></content>
			<author>
				<name><![CDATA[rski]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=26</uri>
			</author>
			<updated>2009-09-01T12:09:40Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=1225#p1225</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[ilość miesięcy]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=1224#p1224"/>
			<content type="html"><![CDATA[Witam

Próbuję zrobić funkcję która wylicz różnicę miesięcy z dat.
taki ogólny przykład działa

SELECT EXTRACT(MONTH FROM TIMESTAMP '2001-06-16')-EXTRACT(MONTH FROM TIMESTAMP '2001-02-11');

Mam też taką funkcyjkę z internetu ale nie mogę dojść co ją boli

CREATE FUNCTION MONTHS_BETWEEN(DATE,DATE)
  RETURNS NUMERIC AS
'SELECT to_number((date($1)-date($2)),''999999999'')/31'
LANGUAGE 'sql'; 

dostaje taki błąd:

ERROR:  function to_number(integer, unknown) does not exist
LINE 1: ...THS_BETWEEN(DATE,DATE) RETURNS NUMERIC AS 'SELECT to_number(...
                                                                                                                   ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.

Zmiana na:

CREATE FUNCTION MONTHS_BETWEEN(DATE,DATE)
  RETURNS NUMERIC AS
'SELECT EXTRACT(MONTH FROM TIMESTAMP date($1))-EXTRACT(MONTH FROM TIMESTAMP date($1))'
LANGUAGE 'sql'; 

też nic nie pomaga.

Czy ktoś ma może jakiś przykład działającej funkcji lub wie co tu trzeba poprawić?

Z góry dzięki]]></content>
			<author>
				<name><![CDATA[adamleon]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=873</uri>
			</author>
			<updated>2009-09-01T11:36:19Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=1224#p1224</id>
		</entry>
</feed>
