🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.bazy-danych
Article #194331

Re: PostgreSQL - jak zbudować optymalne zapytanie?

#194331
From: nkab
Date: Wed, 18 Mar 2015 12:02
48 lines
3262 bytes
W dniu piątek, 13 marca 2015 01:49:18 UTC+1 użytkownik IDKrzych napisał:

> ale czegoś nie rozumiem .. sprawdziłem, u mnie w MySQL taka gówniana 
> składnia nie działa -> czyli prawidłowo ..
> Nie wiem skąd wymysł, że można tak gówniano nulle porównywać?
> 

Nie działa prawidłowo?

Załóż sobie dwa pola jedno p1 char, drugie p2 decimal.
Na jakiś pojedynczych rekordach daj jakieś wartości, na tekstowych również
jakąś jedną spację a na numeryku wpisz zero na pozostałych rekordach
zaś same NULLe.

I teraz:

select * from t4 where p1 IS NULL or p2 IS NULL;
select * from t4 where p1='' or p2=0.00;


select * from t4 where p1 IS NOT NULL or p2 IS NOT NULL;
select * from t4 where p1<>'' or p2<>'';


Wyniki będą prawidłowe, zgodne z oczekiwaniami,
czasy z IS NOT NULL odrobinkę dłuższe od <>''.


Pokaż mi przykład, który wykazuje nieprawidłowy wynik.



Minie zawsze interesowały rzeczywiste wyniki
nawet jeśli standardy są inne.

Zgodnie ze standardem warunek powinien wyglądać tak:
select * from t4 where p1<>'' or p1 IS NOT NULL or p2<>0.00 or p2 IS NOT NULL;



Oczywiście różne bazy mogą różnie działać
ale w SQLite 3 moja składnia też daje mi wynik prawidłowy
po prostu przy przesiadce i tak trzeba wszystko sprawdzać.

Zacząłem przygodę z MySQL i chyba już nie zmienię bazy
stąd nie martwię się innymi systemami (chociaż korci mnie PG).

Andrzej.
Technical Details
Message-ID: <83cd0902-cd40-4ab2-bc87-43eef2d6b222@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!newsfeed.pionier.net.pl!news.glorb.com!z20no1041294igj.0!news-out.google.com!f74ni418qge.0!nntp.google.com!z107no3234636qgd.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <mci51m$dju$1@news.icm.edu.pl> <fk06sb-jtf.ln1@depesz.com> <mctd2q$q6k$1@news.icm.edu.pl> <5bb452da-87e3-46b6-bbe4-51cd8e95fc73@googlegroups.com> <c57ea06e-2252-4f0c-ad4b-a2a2fed94ac4@googlegroups.com> <ef9d0ff9-dc2b-4ce1-845d-2f080e919ebd@googlegroups.com> <27b8c3e2-f0d5-4667-a74a-09a11cbeb915@googlegroups.com> <2330ae3c-1ffb-4e8a-8327-3a7cb9cebc0b@googlegroups.com> <55018614$0$2210$65785112@news.neostrada.pl> <192fed43-cab4-4153-a168-8c437782cc1f@googlegroups.com> <5502163a$0$2208$65785112@news.neostrada.pl> <5502340c$0$2192$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
X-Received: by 10.43.64.143 with SMTP id xi15mr70347213icb.0.1426680149299;        Wed, 18 Mar 2015 05:02:29 -0700 (PDT)
X-Received: by 10.140.104.174 with SMTP id a43mr1068727qgf.2.1426680149106; Wed, 18 Mar 2015 05:02:29 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!newsfeed.pionier.net.pl!news.glorb.com!z20no1041294igj.0!news-out.google.com!f74ni418qge.0!nntp.google.com!z107no3234636qgd.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.bazy-danych
Date: Wed, 18 Mar 2015 05:02:28 -0700 (PDT)
In-Reply-To: <5502340c$0$2192$65785112@news.neostrada.pl>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=31.182.166.183; posting-account=xnOwqAoAAAAJ48pUkVrL2a6sJByqdB8s
NNTP-Posting-Host: 31.182.166.183
References: <mci51m$dju$1@news.icm.edu.pl> <fk06sb-jtf.ln1@depesz.com> <mctd2q$q6k$1@news.icm.edu.pl> <5bb452da-87e3-46b6-bbe4-51cd8e95fc73@googlegroups.com> <c57ea06e-2252-4f0c-ad4b-a2a2fed94ac4@googlegroups.com> <ef9d0ff9-dc2b-4ce1-845d-2f080e919ebd@googlegroups.com> <27b8c3e2-f0d5-4667-a74a-09a11cbeb915@googlegroups.com> <2330ae3c-1ffb-4e8a-8327-3a7cb9cebc0b@googlegroups.com> <55018614$0$2210$65785112@news.neostrada.pl> <192fed43-cab4-4153-a168-8c437782cc1f@googlegroups.com> <5502163a$0$2208$65785112@news.neostrada.pl> <5502340c$0$2192$65785112@news.neostrada.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <83cd0902-cd40-4ab2-bc87-43eef2d6b222@googlegroups.com>
Subject: Re: PostgreSQL - jak zbudować optymalne zapytanie?
From: nkab@toya.net.pl
Injection-Date: Wed, 18 Mar 2015 12:02:29 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit