<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum PostgreSQL - Rok przestępny oraz zmiana typu danych]]></title>
		<link>https://forum.postgresql.org.pl/viewtopic.php?id=6000</link>
		<description><![CDATA[Najświeższe odpowiedzi w Rok przestępny oraz zmiana typu danych.]]></description>
		<lastBuildDate>Tue, 29 Dec 2015 15:02:34 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Odp: Rok przestępny oraz zmiana typu danych]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=9298#p9298</link>
			<description><![CDATA[Wielkie dzięki ;)]]></description>
			<author><![CDATA[dummy@example.com (cogi94)]]></author>
			<pubDate>Tue, 29 Dec 2015 15:02:34 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=9298#p9298</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Rok przestępny oraz zmiana typu danych]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=9297#p9297</link>
			<description><![CDATA[SELECT * FROM (
    SELECT "Name",
        extract('year' from "StartDate")::integer AS rok_start
    FROM "Company"
    ) d
WHERE rok_start % 4 = 0
    AND rok_start%100 <> 0
    OR (rok_start %100=0 AND rok_start %400=0)]]></description>
			<author><![CDATA[dummy@example.com (c_michal)]]></author>
			<pubDate>Tue, 29 Dec 2015 14:11:53 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=9297#p9297</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Rok przestępny oraz zmiana typu danych]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=9296#p9296</link>
			<description><![CDATA[[quote=c_michal]jeśli tylko chcesz firmy w roku poprzednim to zerknij na zapytanie

  SELECT *
     FROM "Company"
  WHERE extract('year' from current_date) - extract('year' from "StartDate") = 1;[/quote]

Nie w roku poprzednim tylko rok przestępny i dlatego potrzebna jest mi reszta z dzielenia ;( a ona działa chyba tylko dla integer]]></description>
			<author><![CDATA[dummy@example.com (cogi94)]]></author>
			<pubDate>Tue, 29 Dec 2015 14:10:23 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=9296#p9296</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Rok przestępny oraz zmiana typu danych]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=9294#p9294</link>
			<description><![CDATA[jeśli tylko chcesz firmy w roku poprzednim to zerknij na zapytanie

  SELECT *
     FROM "Company"
  WHERE extract('year' from current_date) - extract('year' from "StartDate") = 1;

PS
Możesz przekonwertować wynik z double precision na integer w ten "sposób extract('year' from current_date)::integer" tak by móc wyliczyć modulo]]></description>
			<author><![CDATA[dummy@example.com (c_michal)]]></author>
			<pubDate>Tue, 29 Dec 2015 14:02:22 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=9294#p9294</guid>
		</item>
		<item>
			<title><![CDATA[Rok przestępny oraz zmiana typu danych]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=9293#p9293</link>
			<description><![CDATA[Witam,
Kolejne pytanie z serii Laik i potrzebie.
Chciałbym wyświetlić firmy które rozpoczęły działalność w roku przestępnym

SELECT * FROM (
	SELECT "Name",
		extract('year' from "StartDate") AS "rok start"
	FROM "Company"
	) d
WHERE "rok_start" % 4 = 0
	AND "rok_start"%100 <> 0
	OR ("rok_start"%100=0 AND "rok_start"%400=0)

Reszta z dzielenia działa tylko dla typu integer a "rok_start" jest double precision.
Nie wiem jak to rozwiązać?
Moim jedynym pomysłem jest utworzyć nową kolumnę a potem za pomocą INSERT wstawić do niej wartości "rok_start" ale to chyba nie jest dobre rozwiązanie bo i tak typy nie będą się zgadzać??]]></description>
			<author><![CDATA[dummy@example.com (cogi94)]]></author>
			<pubDate>Tue, 29 Dec 2015 13:51:01 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=9293#p9293</guid>
		</item>
	</channel>
</rss>
