kruca fuks dość ile można używać oracle'a ani to dobre, ani wydajne, a jakie drogie #!$%@? no i fuckup murowany, toć to gołymi łapami w C ugniatane żeby to jeszcze sensownie zaprojektowane było, a weź tu zmień coś w konfigu stąd te dropy na prodzie tfuu, ochydne co te korpo w tym widzą
@Darksands: ostatni raz z Oracle to na studiach. Pamiętam jakiś toporny UI do zarządzania tym dziadostwem. SSMS jakie jest takie jest ale bije pod tym kątem wszystko inne
W każdej innej bazie która znam to działa jak piszesz, poza oracle ( ͡°͜ʖ͡°)
@edgar_k: Albo ja rozumiem jakoś inaczej Twoją tezę albo wyjaśnij proszę precyzyjniej o co Ci chodzi bo null i pusty string to nie to samo w Oracle. Dowód:
SQL> select * from dual WHERE NULL = ''; no rows selected
W każdej innej bazie która znam to działa jak piszesz, poza oracle ( ͡°͜ʖ͡°)
@edgar_k: Albo ja rozumiem jakoś inaczej Twoją tezę albo wyjaśnij proszę precyzyjniej o co Ci chodzi bo null i pusty string to nie to samo w Oracle. Dowód:
@edgar_k: @Darksands co się tak czepiliście tego nulla? co w tym bolesnego że spać nie możecie? przeszliście z jakiegoś mssqla czy co:) Chyba gdzieś w okolicy oracle9 to powstało i przy varchar2. Po prostu insert '' jest konwertowane na insert nulla i tyle filozofii. Podejrzewam, że mają sporo korzyści w CBO przy takim podejściu. Rozróznianie pustego stringa od nulla według mnie jest bezsensowne. Nawet jak standard tak każe. Zawsze możecie użyć
@edgar_k: @Darksands co się tak czepiliście tego nulla? co w tym bolesnego że spać nie możecie? przeszliście z jakiegoś mssqla czy co:) Chyba gdzieś w okolicy oracle9 to powstało i przy varchar2. Po prostu insert '' jest konwertowane na insert nulla i tyle filozofii. Podejrzewam, że mają sporo korzyści w CBO przy takim podejściu. Rozróznianie pustego stringa od nulla według mnie jest bezsensowne. Nawet jak standard tak każe. Zawsze możecie użyć
@maniac777: To zobacz ile zwróci. W oracle nie ma czegoś takiego jak pusty string/optymalizacja na potrzeby porównań. Cokolwiek przyrównasz do null'a to masz false. Musiałbyś pisać "is null" stąd te dziwaczne porównania w oracle tj;
(a is null and b is null) or a=b tylko takie porównanie poprawnie porówna 2 kolumny o typie np. varchar2. Pusty string nie istnieje w Oracle, zawsze to NULL a NULL'a nie ma sensu porównywać operatorem
@msilent: No sprawdziłem: - Oracle 12.2 - zero rekordów - Postgres 12 - zero rekordów - MariaDB 10 - zero rekordów - MySQL - zero rekordów - MSSQL - zero rekordów
W oracle nie ma czegoś takiego jak pusty string/optymalizacja na potrzeby porównań.
@msilent: Z mojej perspektywy wygląda to jakby "optymializował" (celowo w cudzysłowie) dla celów porównań. W tabeli pusty string jest faktycznie zapisywany i jest
Mirki i Mirabelki, jutro będę pierwszy raz w Szczecinie na dwa dni. Co polecacie zobaczyć? Jestem z koleżką Anglikiem więc fajnie by było ogarnąć coś ciekawego i pokazać mu Polskę z fajnej strony #szczecin #podroze
ile można używać oracle'a
ani to dobre, ani wydajne, a jakie drogie #!$%@?
no i fuckup murowany, toć to gołymi łapami w C ugniatane
żeby to jeszcze sensownie zaprojektowane było, a weź tu zmień coś w konfigu
stąd te dropy na prodzie
tfuu, ochydne
co te korpo w tym widzą
#bazydanych #oracle #programowanie #studbaza #heheszki
@maniac777: W oracle, w oracle.
W każdej innej bazie która znam to działa jak piszesz, poza oracle ( ͡° ͜ʖ ͡°)
@edgar_k: Albo ja rozumiem jakoś inaczej Twoją tezę albo wyjaśnij proszę precyzyjniej o co Ci chodzi bo null i pusty string to nie to samo w Oracle. Dowód:
SQL> select * from dual WHERE NULL = '';
no rows selected
W każdej innej bazie która znam to działa jak piszesz, poza oracle ( ͡° ͜ʖ ͡°)
@edgar_k: Albo ja rozumiem jakoś inaczej Twoją tezę albo wyjaśnij proszę precyzyjniej o co Ci chodzi bo null i pusty string to nie to samo w Oracle. Dowód:
SQL> select * from dual WHERE NULL = '';
no rows selected
@maniac777: https://stackoverflow.com/questions/13278773/null-vs-empty-string-in-oracle#13278879
( ͡° ͜ʖ ͡°)
PS: Tam wyżej edgar ma rację. Oracle istotnie wewnętrznie "optymalizuje" pusty string do nulla na potrzeby porównań.
(a is null and b is null) or a=b
tylko takie porównanie poprawnie porówna 2 kolumny o typie np. varchar2. Pusty string nie istnieje w Oracle, zawsze to NULL a NULL'a nie ma sensu porównywać operatorem
@msilent: No sprawdziłem:
- Oracle 12.2 - zero rekordów
- Postgres 12 - zero rekordów
- MariaDB 10 - zero rekordów
- MySQL - zero rekordów
- MSSQL - zero rekordów
@msilent: Z mojej perspektywy wygląda to jakby "optymializował" (celowo w cudzysłowie) dla celów porównań. W tabeli pusty string jest faktycznie zapisywany i jest