<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum PostgreSQL - Dni robocze]]></title>
		<link>https://forum.postgresql.org.pl/viewtopic.php?id=282</link>
		<description><![CDATA[Najświeższe odpowiedzi w Dni robocze.]]></description>
		<lastBuildDate>Tue, 01 Sep 2009 09:17:29 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Odp: Dni robocze]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=1223#p1223</link>
			<description><![CDATA[Teraz działa, dzięki

teraz już wiem co to     ::date

to tak też działa

SELECT count(*) FROM generate_series(0, (to_date('2009-06-30','YYYY-MM-DD') - to_date('2009-06-01','YYYY-MM-DD'))) i WHERE date_part('dow', to_date('2009-06-01','YYYY-MM-DD') + i) NOT IN (0,6)]]></description>
			<author><![CDATA[dummy@example.com (adamleon)]]></author>
			<pubDate>Tue, 01 Sep 2009 09:17:29 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=1223#p1223</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Dni robocze]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=1222#p1222</link>
			<description><![CDATA[To moze spróbuj tak zrzutować
[code]
SELECT count(*) FROM generate_series(0, (cast('2009-06-01' as date) - cast('2009-01-01' as date))) i WHERE date_part('dow', cast('2009-01-01' as date) + i) NOT IN (0,6)
[/code]]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Tue, 01 Sep 2009 09:06:20 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=1222#p1222</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Dni robocze]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=1221#p1221</link>
			<description><![CDATA[data wg mnie ok  ISO, YMD
dodam że działam na EMS SQL manager 2007 for Postgresql

dalej nie pasuje mu :: i pokazuje ten sam błąd co wcześniej ERROR:  syntax error at or near ":"

kiedy z :: zrobię : pokazuje się okienko Input Parameters wpisuję datę 2009-02-02 i dostaje taki błąd

ERROR:  operator is not unique: unknown - unknown
LINE 1: ...FROM generate_series(0, ('2009-06-01''2009-02-02' - '2009-01...
                                                                                                   ^
HINT:  Could not choose a best candidate operator. You might need to add explicit type casts.

dalej stoję w miejscu]]></description>
			<author><![CDATA[dummy@example.com (adamleon)]]></author>
			<pubDate>Tue, 01 Sep 2009 08:28:19 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=1221#p1221</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Dni robocze]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=1220#p1220</link>
			<description><![CDATA[U mnie to dziala, tylko nie wiem co masz za znaczki wokół dow bo u Ciebie to chyba nie sa apostrofy.
[code]
SELECT count(*) FROM generate_series(0, ('2009-06-01'::date - '2009-01-01'::date)) i WHERE date_part('dow', '2009-01-01'::date + i) NOT IN (0,6)
[/code]
Poza tym sprawdź jeszcze jak masz ustawiony format daty
[code]
show datestyle;
[/code]]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Tue, 01 Sep 2009 07:13:46 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=1220#p1220</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Dni robocze]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=1219#p1219</link>
			<description><![CDATA[Nie wiem czy dobrze robię

SELECT count(*) FROM generate_series(0, ('2009-06-01'::date - '2009-01-01'::date)) i WHERE
date_part(’dow’, '2009-01-01'::date + i) NOT IN (0,6)

dostaje taki błąd

ERROR:  syntax error at or near ":"
LINE 1: ...ECT count(*) FROM generate_series(0, ('2009-06-01':date - '2...
                                                                                                   ^

Czy możesz to sprawdzić i napisać mi przykład który działa.

Z góry dzięki]]></description>
			<author><![CDATA[dummy@example.com (adamleon)]]></author>
			<pubDate>Tue, 01 Sep 2009 07:05:08 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=1219#p1219</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Dni robocze]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=1218#p1218</link>
			<description><![CDATA[[code]
SELECT count(*) FROM generate_series(1, (higherdate::date - lowerdate::date)) i WHERE date_part(’dow’, higherdate::date + i) NOT IN (0,6);
[/code]
Mam wątpliwości czy nie powinno być 
[code]
SELECT count(*) FROM generate_series(0, (higherdate::date - lowerdate::date)) i WHERE
date_part(’dow’, lowerdate::date + i) NOT IN (0,6)
[/code]

Ten select wypisuje ile jest dni poza sobotami a niedzielami w terminie od lowerdate do higherdate. 
Funkcja generate_series służy do wygenerowania ciągu liczb z podanego zakresu a w kontekście polecenia select robi za petlę, za jej pomocą można przekazać ile razy ma sie wykonac select. Licznik tej pętli tutaj jest 'zapisywany' w 'i' i to 'i' jest wykorzytsane w warunku where do sprawdzenia czy data lowerdate+i nie jest czasem sobota (liczba 6) lub niedzielą (liczba 0). date_part służy do wyciągania części dat tutaj wyciągamy dow=day of a week (dow=0-niedziela, 1 -poniedzialek,...).
Mam nadzieje że nic nie pomieszalem a cos wyjasnilem.]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Tue, 01 Sep 2009 06:34:38 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=1218#p1218</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Dni robocze]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=1217#p1217</link>
			<description><![CDATA[ok, 
jeżeli nie ma możliwości policzenia ilości dni roboczych, to w jaki sposób sprawdzić czy to niedziela czy sobota?

Tabele z świętami ruchomymi wykorzystywałem już w Accessie.

W Excelu jest fajna funkcja NETWORKDAYS, ale to nie ta bajka.

Znalazłem cos takiego, czy ktoś biegły z postgres-a może mi wyjaśnić o co tu chodzi i czy to dobrze działa?

[url]http://www.selfadhesivelabels.com/blog/2008/02/15/postgresql-calculate-work-days-none-weekend-days/[/url]]]></description>
			<author><![CDATA[dummy@example.com (adamleon)]]></author>
			<pubDate>Mon, 31 Aug 2009 20:28:44 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=1217#p1217</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Dni robocze]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=1213#p1213</link>
			<description><![CDATA[No trochę cięzko byłoby zaimpementować Panom od postgresa coś takiego, bo każde Panstwo ma swoje swieta (poza kilkoma wspólnymi). Możesz sprawdzić czy dzień jest sobotą/niedzielą, świeta chyba będziesz musiał zapisywać w osobnej tabeli tym bardziej że zdarzają się święta ruchome.]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Mon, 31 Aug 2009 13:15:37 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=1213#p1213</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Dni robocze]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=1211#p1211</link>
			<description><![CDATA[My pobieramy takie dane z kalendarza systemu ERP, gdzie księgowość i planiści produkcji wpisują dni robocze.]]></description>
			<author><![CDATA[dummy@example.com (gintor)]]></author>
			<pubDate>Mon, 31 Aug 2009 12:57:09 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=1211#p1211</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Dni robocze]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=1210#p1210</link>
			<description><![CDATA[od poniedziałku do piątku, "czerwone" święto w kalendarzu to dzień wolny]]></description>
			<author><![CDATA[dummy@example.com (adamleon)]]></author>
			<pubDate>Mon, 31 Aug 2009 12:45:01 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=1210#p1210</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Dni robocze]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=1207#p1207</link>
			<description><![CDATA[Czym są dla ciebie dni robocze? Jak w tygodniu wypada swięto to jest dzień roboczy czy nie?]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Mon, 31 Aug 2009 10:20:11 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=1207#p1207</guid>
		</item>
		<item>
			<title><![CDATA[Dni robocze]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=1206#p1206</link>
			<description><![CDATA[Witam

Nie mogę nigdzie znaleźć informacji jak wyliczyć w postgres-ie ilość dni roboczych między dwoma datami.
Czy ktoś ma jakiś pomysł w jaki sposób to zrobić?


Z góry dzięki za odpowiedź]]></description>
			<author><![CDATA[dummy@example.com (adamleon)]]></author>
			<pubDate>Mon, 31 Aug 2009 09:49:35 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=1206#p1206</guid>
		</item>
	</channel>
</rss>
