Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Tomasz Pyra - 13-04-2007 00:03 [MySQL] GREATEST i NULL
Od wersji 5.0.13 MySQL tak definiuje funkcję NULL, że jeżeli jakikolwiek argument wynosi NULL, to wynik również równy jest NULL.
Czyli GREATEST(NULL, 100)=NULL
Do wersji 5.0.13 było odwrotnie - wartość zwracana była to najwyższa wartość różna od NULL.
I teraz pytanie - jak najprościej uzyskać takie zachowanie jak kiedyś? Czy jest inna funkcja, podobna do GREATEST, czy może należy zrobić to w połączeniu z jeszcze jakąś inna funkcją?
Mogę to zrobić na warunku, korzystając z ISNULL, ale to wydaje mi się być niepotrzebnie skomplikowane.
Maciek Dobrzanski - 13-04-2007 00:03
"Tomasz Pyra" <hellfire@spam.spam.spam> wrote in message news:evknc7$lul$1@news.task.gda.pl...
> I teraz pytanie - jak najprościej uzyskać takie zachowanie jak kiedyś?
Aby było takie jak kiedyś, to tylko definiując własną funkcję o takim działaniu (napisanie UDFa w C to kilkanaście linijek kodu). Zasadniczo jednak zmienione działanie funkcji GREATEST() jest bardziej poprawne. Możesz też pokombinować z opakowywaniem w COALESCE() wartości, które mogą być potencjalnie NULL, ale to samo to napewno nie będzie.
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona