English | Magyar
JS ki | CSS ki | Ékezetek ki | HiContrast
Lapozó:  (0 - 1424) 
<== | ==>
Ugrás a végére | Összes megjelenítése | Utolsó oldal
OpenOpera patches | Opera-SSL patches | Opera 12.15 source (Git repository) | Opera 12.15 source (Torrent) | Opera internal pages | Otter Browser Linux x64 - Qt5.15.2/QtWebKit5.602.1 (2024.04.27. 20:05)
OS for MC680x0 | OS for PPC | OS for Sparc64 | besztofbégéaefcé | CSÉNDZSLOG | WebToolz | DDG Shit Filter | Google Shit Filter | Progz | Fast CSS Box | Browser | OS | Agent | Statisztika | BBCode
Monospace font-family: Courier New | Browser default monospace
Email értesítő / Email notification ===> 
Keresés
Σ: 1 post

TCH  (statz) Főfasz
#1, Főfasz (10443)
5477 | #26ad | ^ | Idézet | Sat, 20 Jul 2013 00:01:32 +02
78.92.*.* Linux x86 Opera Classic Hungary *.catv.pool.telekom.hu
@saxus:
:)) Az, hogy rossz RDBMS-t használsz...
Kurwa nagy +1.
@saxus:
(rotfl)...
Kurwa nagy +1.
@saxus:
Szerintem meg csak arról van szó, hogy az Oracle meg akarta nehezíteni a migrációt a szarjáról :)
Kurwa nagy +1.
@saxus:
Ez nem szarákül, hanem így van az SQL standardban. Akármilyen összehasonlítást, műveletet végzel NULL-al, annak false/NULL-nak kell lennie.

Még a NULL-t sem tudsz NULL-al összehasonlítani.

> select case when null = null then 'T' else 'F' end
"F"

(És erre minden RDBMS-nek F-et kell visszaadnia.). Ez van, SQL-ben a NULL nem egy speciális érték (mint pl. a C NULL), hanem egy kb. egy "állapot".
C-C-C-COMBO BREAKER!!!
Félreértetted amit mondtam. Nem NULL tartalmú mezőkkel végeztem műveletet, ha megnézed mégegyszer a kapott eredményeket
select count(*) from cc_codes;

COUNT(*)
14135600

select count(*) from cc_codes where answer is not null;

COUNT(*)
14135500
akkor látod, hogy a mezők java nem volt NULL, tehát én nem NULL-al végeztem összehasonlítást, hanem érvényes sztringekkel. Azt tudom, hogy NULL-al nem lehet komparálni, tehát NULL állapotú mező komparálása mindig hamisat ad vissza, de én nem is ezt csináltam. A mező beállítása volt, hogy lehet NULL (nem a mi hibánk!) minek következtében a szarákül egyfelől az INSERT kérésekben található összes üres sztringet NULL-ként szúrta be, másfelől pedig a tartalommal bíró mezőket sem volt képes összehasonlítani az üres stringgel, gyakorlatilag az orákül szerint ('blablabla' != '') hamisat ad vissza, márpedig ha a mező tartalma nem egy üres sztring, akkor a select count(*) from cc_codes where answer <> ''; ugyanúgy vissza kéne, hogy adja a sort, kivéve persze, ha a mező NULL - ahogy te is mondtad - de a mező nem volt NULL.

Ez konkrétan azt jelenti, hogy az oracle szerint ('' == NULL) && (NULL != ''), lévén az üres sztringet nem csak a beszúrásnál, de a keresésnél is NULL-nak vette, a NULL értékeket, meg nem vette üres sztringnek, mert ha a kettő közül bármelyiket nem csinálta volna, akkor adott volna vissza sorokat, ergo EGYSZERRE csinálja a kettőt, nála az üres sztring az NULL, de a NULL nem üres sztring! Mijezmárbazdmeg?!

A select count(*) from cc_codes where answer <> ''; odabent így értelmeződött: select count(*) from cc_codes where answer <> NULL; ami naná, hogy hamisat ad vissza, de bazdmeg, én nem NULL-ra kerestem, hanem üres sztringre! A szarákül nem az általad leírt SQL standard szerint dolgozik, a mellékelt példa bizonyítja, hogy simán megfelelteti az üres sztringet a NULL-nak, ami viszont epic fail, mert INSERT INTO pina (faszom) VALUES (NULL); baromira nem ugyanaz, mint INSERT INTO pina (faszom) VALUES (''); (ld. mindjárt a PgSQL-es példámban), de még nagyobb fail, hogy aztán visszafele már nem csinálja! A szarákül konkrétan magasról leszarja az SQL szabványt! Egyszer így, egyszer meg úgy működik, aztán dolgozz vele, ha tudsz!
A bizonyítás kedvéért (bár az axióma, hogy az orákül fos, tehát nem szorul bizonyításra): íme PgSQL-ben NULL alapbeállítású mező, tartalommal, üres sztringgel és NULL értékkel:
CREATE TABLE "pina" (
  "faszom" character varying(15) NULL
); -- 0.003 s

INSERT INTO "pina" ("faszom") VALUES ('shgfdhsfdh'); -- 0.002 s
INSERT INTO "pina" ("faszom") VALUES ('32trtfj'); -- 0.002 s
INSERT INTO "pina" ("faszom") VALUES (NULL); -- 0.001 s
INSERT INTO "pina" ("faszom") VALUES (''); -- 0.002 s

select count(*) from pina where faszom <> '';

count
2
-- ahogyan az SQL szabvanynak megfelel
-- a ket tartalommal biro sor igen, az ures stringes sor nem es a NULL sem, mert azt nem lehet komparalni
-- szarakulben ez NULLA sort adott vissza!

select count(*) from pina where faszom = '';

count
1
-- ez is megfelel az SQL szabvanynak
-- az ures stringes sor igen, a ket tartalommal biro sor nem es a NULL sem, mert azt nem lehet komparalni
-- szarakulben EZ IS nulla sort adott vissza!

select count(*) from pina where faszom is null;

count
1
-- igy van, egy NULL sor van! SQL standard-nek megfelel.
-- igaz, ez mar szarakulben is jo volt

select count(*) from pina where faszom is not null;

count
3
-- es ez is jo, mert egy NULL sor van, harom nem az. SQL standard pipa.
QED. A szarákül rohadtul nem az SQL szabványnak megfelelően csinálta, amit csinált. A PgSQL igen. PostgreSQL (& Adminer :) ) gigarulez, szarákül gigasux.
Egyszerűen szar a szarákül. Mit várunk attól a ratyi motortól, ami még INSERT-ben sem enged szekvenciákat használni, meg 4000 karakterenként akar feltölteni egy 128 TB-s mezőt, arról meg ne is beszéljünk, hogy ha egy NOT NULL mezőnek alapértéket akar adni az ember, akkor szerinte hiányzik egy zárójel...
Vándékkönyv v3.20.0:
 •  PREVIEW!!! \o/
 •  Innentől rákérdez az elküld gomb, hogy elküldöd-e, hogyha az ember véletlen arra nyomna a preview helyett, oszt elmenne szarul a post.


English | Magyar
JS ki | CSS ki | Ékezetek ki | HiContrast
Lapozó:  (0 - 1424) 
<== | ==>
Ugrás a végére | Összes megjelenítése | Utolsó oldal
OpenOpera patches | Opera-SSL patches | Opera 12.15 source (Git repository) | Opera 12.15 source (Torrent) | Opera internal pages | Otter Browser Linux x64 - Qt5.15.2/QtWebKit5.602.1 (2024.04.27. 20:05)
OS for MC680x0 | OS for PPC | OS for Sparc64 | besztofbégéaefcé | CSÉNDZSLOG | WebToolz | DDG Shit Filter | Google Shit Filter | Progz | Fast CSS Box | Browser | OS | Agent | Statisztika | BBCode
Monospace font-family: Courier New | Browser default monospace
Email értesítő / Email notification ===> 
Keresés

Név: (max 255 byte)

Email: (max 255 byte) Nem kötelező!

Üzenet: (max 65536 kar.) 65536-0=65536




crap_vkn v4.34.0 by TCH
Thx to saxus for the escaped string decoder function (PHP), the realIP function (PHP) & the SQL handle layer (PHP), to thookerov for the int_divide function (PHP), to Jeff Anderson for the getSelText function (JS), to Alex King for the insertAtCursor function (JS), Flood3r for the new CSS styles, Pety for the spamprotection idea and some design and comfort ideas, MaxMind for the IP2Country database, famfamfam for the flags of countries and an unknown PHP programmer for the removeAccents function.



Kecskebaszók ide!