<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum PostgreSQL - insert lub update dla pola typu character]]></title>
		<link>https://forum.postgresql.org.pl/viewtopic.php?id=1178</link>
		<description><![CDATA[Najświeższe odpowiedzi w insert lub update dla pola typu character.]]></description>
		<lastBuildDate>Wed, 30 Nov 2011 16:03:05 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Odp: insert lub update dla pola typu character]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=3308#p3308</link>
			<description><![CDATA[OK, apostrofy same z siebie nie są wartością pola, tylko jego [b]ogranicznikami[/b]. Innymi słowy jak robisz test typu uwagi = '' i on przechodzi to znaczy, że faktycznie jest wartość to [b]pusty string[/b] (nie NULL). Jeżeli pole rzeczywiście przechowuje dwa apostrofy np. wstawione przez:

[code]INSERT  INTO jakas_tabela (jakas_kolumna) values E'\'\'';[/code]

to możesz użyć testu:

[code]WHERE jakas_kolumna = E'\'\''[/code]

W takim przypadku jest to tylko zasługa tego kto tak wstawił (człowiek, skrypt PHP/Perl, Java, whatever). Jeżeli chesz to "naprostować", to zawsze mozna użyć UPDATE dla danej tabeli np.

[code]UPDATE jakas_tabela SET jakas_kolumna = '' WHERE jakas_kolumna = E'\'\'';[/code]

ew. jak chcesz mieć NULL to zamień tylko SET jakas_kolumna = ''  na SET jakas_kolumna = NULL]]></description>
			<author><![CDATA[dummy@example.com (gszpetkowski)]]></author>
			<pubDate>Wed, 30 Nov 2011 16:03:05 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=3308#p3308</guid>
		</item>
		<item>
			<title><![CDATA[Odp: insert lub update dla pola typu character]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=3307#p3307</link>
			<description><![CDATA[żeby było puste]]></description>
			<author><![CDATA[dummy@example.com (przesq)]]></author>
			<pubDate>Wed, 30 Nov 2011 13:26:27 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=3307#p3307</guid>
		</item>
		<item>
			<title><![CDATA[Odp: insert lub update dla pola typu character]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=3306#p3306</link>
			<description><![CDATA[A co chcesz mieć jeżeli to pole w formularzu jest nie wypełnione ? NULL ? Napisz coś więcej, bo tak to nie rozumiem o co Ci chodzi.]]></description>
			<author><![CDATA[dummy@example.com (gszpetkowski)]]></author>
			<pubDate>Tue, 29 Nov 2011 07:54:39 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=3306#p3306</guid>
		</item>
		<item>
			<title><![CDATA[Odp: insert lub update dla pola typu character]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=3305#p3305</link>
			<description><![CDATA[Ja mam tak

uwagi VARCHAR(600) 
lub tak
uwagi character varying(600) 

w zależności jakim managerem podglądam, ale i tak domyślnie wstawia mi null jeżeli nic nie podaje]]></description>
			<author><![CDATA[dummy@example.com (adamleon)]]></author>
			<pubDate>Tue, 29 Nov 2011 05:44:50 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=3305#p3305</guid>
		</item>
		<item>
			<title><![CDATA[Odp: insert lub update dla pola typu character]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=3304#p3304</link>
			<description><![CDATA[co zrobić aby nie wstawiało tego pustego stringa '']]></description>
			<author><![CDATA[dummy@example.com (przesq)]]></author>
			<pubDate>Mon, 28 Nov 2011 20:26:06 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=3304#p3304</guid>
		</item>
		<item>
			<title><![CDATA[Odp: insert lub update dla pola typu character]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=3303#p3303</link>
			<description><![CDATA[Nie bardzo widzę gdzie tkwi problem. Jeżeli definiujesz kolumnę jak wyżej, to przypisek/modyfikator/atrybut NULL jest [b]opcjonalny[/b] i znaczy tylko tyle, że wartość dla tej kolumny może być NULL (w przeciwieństwie do NOT NULL). Innymi słowy możesz bez przeszkód tam wstawić:

[list=*]
[*]wartość NULL[/*]
[*]pusty string '' (to [b]nie[/b] jest to samo co NULL)[/*]
[*]inny string do 200 znaków (nie bajtów)[/*]
[/list]

Jak potrzebujesz testu na wartość NULL używaj IS NULL ew. ISNULL, przeciwnie IS NOT NULL ew. NOTNULL (te skróty są niestandardowe, więc roztropniej je w ogóle pomijać), dla pustego stringu wystarczy = '', czy <> ''.]]></description>
			<author><![CDATA[dummy@example.com (gszpetkowski)]]></author>
			<pubDate>Mon, 28 Nov 2011 19:49:05 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=3303#p3303</guid>
		</item>
		<item>
			<title><![CDATA[insert lub update dla pola typu character]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=3302#p3302</link>
			<description><![CDATA[Mam w tabeli pole:

uwagi character varying(200) NULL,

i teraz jeżeli wstawiam coś do bazy z formularza i pole uwagi jest niewypełnione to wstawia mi znaki ''

końcówka zapytania: uwagi ='' WHERE id_wod=3;

jeżeli uwagi ='aaa' WHERE id_wod=3;

to wszystko jest w porządku - w kolumnie uwagi mam aaa.]]></description>
			<author><![CDATA[dummy@example.com (przesq)]]></author>
			<pubDate>Mon, 28 Nov 2011 19:28:14 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=3302#p3302</guid>
		</item>
	</channel>
</rss>
