<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Forum PostgreSQL - Jak dodać date?]]></title>
	<link rel="self" href="http://forum.postgresql.org.pl/extern.php?action=feed&amp;tid=136&amp;type=atom"/>
	<updated>2009-02-04T12:10:19Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.postgresql.org.pl/viewtopic.php?id=136</id>
		<entry>
			<title type="html"><![CDATA[Odp: Jak dodać date?]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=516#p516"/>
			<content type="html"><![CDATA[Potestowałem sobie wyświetlenie daty:


set datesyle to 'iso,dmy'

select current_date;

wynik:

2009-02-04

Gdy dam inny format, np:.  "set datestyle to 'German, Euro'

Wynik:

04-02-2009   <-- O taki zapis mi chodzi.

OK.. rozumiem zmianę formatu typu date, ale mi chodziło głównie o zapis w komórkach(to się encjami nazywa? - INSERT INTO....). Czyli gdy zapis dam na europejski, to mogę sobie wpisać wartość daty w składni:

INSERT INTO tabela(kolumna1,kolumna2.......kulumna-data) VALUES (komórka1, komórka2....04-02-2009).

A, jak dam na iso i będzie odwrotnie, czyli "2009-02-04" , to w komórkach nie będę mógł wpisać 04-02-2009, bo taki zapis nie będzie zgodny ze zmienną typu date(z formatem jej, jak "iso", czy odwrotnie "German)?

Bo mi taknaprawdę chodzi jedynie o ten zapis w komórkach, a chciałbym dzien-miesiac-rok i tylko o tomi chodzi o zapis w komorkach, musze podac date urodzenia, a chce w formie jaką wyżej wymieniłem. Od 2 dni chce wpisać date urodzenia i tylko o tym rozmawiamy :) Dlatego rozwodze się z typem "date", bo myślałem, że musze miec konkretny format do tego typu przypisany, żebym mógł  w komórce napisać "dzien-miesiac-rok".


=============
EDIT
=============

Potestowałem sobie i juz rozumiem. Nie ważne co wpisze w INSERT INTO, on i jak zinterpretuje mi po formacie, który zadeklarowałem w zmiennej datestyle. 
Raz mi wychodzi dzien/miesiac/rok (kolejnosc jest ok, ale ja chcialbym miec z separatorem "-" - myślnik), ładniej jest z myślnikiem.
Później kombinowałem z innymi, to wychodzi mi "rok-miesiac-dzien" - myślniki są, ale za to kolejność nie ta. Kombinuje, kombinuje ale nie mogę trafić na właściwy, czyli:

dzien-miesiac-rok (separator jako myslnik)

================
EDIT  - KONIEC
================

Znalazłem :)  (poszperałem w dokumentacji) 

set datestyle to "postgres"    <--  "postgres" zamienia na taki format, ktory właśnie oczekuje :) Chociaż w INSERT INTO mam separator jako kropke, to oczywiście priorytet ma zmienna i zmienna zamienia mi na separator myślnikowy "-".

To chyba tyle, dziękuje za naprowadzenie :)

========

EDIT - UPDATE
==============

Mała poprawka:

set datestyle "postgres, DMY"  <-- to jest prawidłowa zadeklarowana zmienna do wyniku, który chciałem osiągnąć]]></content>
			<author>
				<name><![CDATA[tomboy]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=665</uri>
			</author>
			<updated>2009-02-04T12:10:19Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=516#p516</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Jak dodać date?]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=513#p513"/>
			<content type="html"><![CDATA[Typ jest date, German to tylko format daty. Jak zmienisz w pliku postgresql.conf datestyle na 'German,dmy', to bedziesz mógł wpisywać date w formacie o jakim piszesz. Do zmiany format mozesz tez uzyc polecenia 
[code]SET DATESTYLE TO ...[/code]
W zasadzie podczas wpisywania nie powinien miec znaczenia separator skadowych daty (nie wazne cz wpiszesz '.' czy '-' czy moze '/').  Najwazniejsze jest format daty,tzn ktora skladowa to rok, ktoa miesiac a ktora dzien.]]></content>
			<author>
				<name><![CDATA[rski]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=26</uri>
			</author>
			<updated>2009-02-04T05:50:50Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=513#p513</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Jak dodać date?]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=511#p511"/>
			<content type="html"><![CDATA[W pliku "postgresql.conf" mam zapisane:

datestyle = 'iso, ymd'

Czyli mam rozumieć, że wystarczy w jaki sposób zadeklaruje format przechowania daty w w/w pliku i w takim formacie później mogę zapisać go w kolumnach?

Nie bardzo rozumiem co teraz 'iso,ymd' mi daje, czy to oznacza w jaki sposób mogę zapisywać datę? Czy deklaracja tego "datestyle"  pozwoli mi na wpisanie "27-10-2008" ?

---

EDIT

--

Przed chwilką znalazłem - [url]http://www.postgresql.org/docs/7.4/static/datatype-datetime.html#DATATYPE-DATETIME-OUTPUT-TABLE[/url]

Ale dalej nie wiem jak mam wstawić tą date. Czy po dowiedzeniu się jaki ma się wpis w "datestyle", mogę zdefiniować typ, ktory użyje?. Czyli np: mam to "iso" i teraz moge wpisać jako treść - " 1997-12-17 " (Czy datestyle jest takim pozwoleniem do wykorzystana danego zapisu daty?)

Osobiście to ja bym chciał tak zdefiniowanyy typ, który umożliwi mi "dzien-miesiac-rok", a jak widze, można to zrealizować:

German	regional style	17.12.1997 07:37:16.00 PST  ( 17.12.1997 - dzien.miesiac.rok). W takim razie mam jako typ wpisać "German" ? Tak jak to pisze w dokumentacji? i po tym już moge wykorzysywać zapic "17.12.1997" ?]]></content>
			<author>
				<name><![CDATA[tomboy]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=665</uri>
			</author>
			<updated>2009-02-03T23:09:58Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=511#p511</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Jak dodać date?]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=510#p510"/>
			<content type="html"><![CDATA[Chyba nie bardzo wiem  co chodzi. Typ date służy do przechowywania daty. Co do formatu daty, czy beda to '-', '.' czy '/' zalezy od ustawien bazy a dokladnie ustawien opcji datestyle. Podobnie z ustawieniem czy formatu daty DD/MM/YY albo MM/DD/YY (jesli dobrze pamietam).

A jakie jest pytanie? :)]]></content>
			<author>
				<name><![CDATA[rski]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=26</uri>
			</author>
			<updated>2009-02-03T22:48:16Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=510#p510</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Jak dodać date?]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=508#p508"/>
			<content type="html"><![CDATA[witam

Czytam i czytam, ale nie bardzo widze typ danych odpowiadających: (dzien)-(miesiąc)-(rok)
I jak to ma wyglądac w tablece?

np:

CREATE TABLE studenci(
id serial PRIMARY KEY,   
imie_nazwisko varchar(50) NOT NULL,
nr_index int4 NOT NULL
data_urodzenia date NOT NULL); 

INSERT INTO studenci(imie_nazwisko..............blablabla.............,data_urodzenia) VALUES ('Don Brown','.......BLABLA...','27-10-2008');

Typ "date" odczytuje to wyrażenie jako date, bo jest tam ten myślnik? jak np: 27-(kreska)10-(kreska)2008.  Niebardzo rozumiem tą koncepcje,równie dobrze może być varchar(10)

Jak to jest z tą datą? Jaki jest poprawny zapis? Jeżeli można to proszę z praktycznym przykładem.]]></content>
			<author>
				<name><![CDATA[tomboy]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=665</uri>
			</author>
			<updated>2009-02-03T20:47:57Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=508#p508</id>
		</entry>
</feed>
