Diskuse:Úvod do PostgreSQL SQL

Z PostgreSQL
Přejít na: navigace, hledání

odvolani zmen prikazu CASE

Funkce least a greatest mohou byt snadno nahrazeny prikazem CASE pouze v pripade, ze nemaji prilis parametru. Jinak je CASE prilis komplikovany. Krome toho, tyto funkce nejsou citlive na NULL. Coz by opet komplikovalo jejich pripadnou substituci prikazem CASE. Hledani maxima, minima z nekolika sloupcu se neuplati pouze u chybne navrzenych tabulek, ale zejmena v pripade, ze tabulka obsahuje vicedimenzionalni data (napr. casove rady).

NULL není problém. Následující výrazy jsou zcela ekvivalentní.
SELECT GREATEST(mereni, 0) FROM data;
SELECT CASE WHEN mereni > 0 THEN mereni ELSE 0 END FROM data;