operatorzy Czy istnieje coś takiego jakW SQL, istnieją non-kruszywo min/max
select max(val,0)
from table
nie szukam, aby znaleźć maksymalną wartość całej tabeli
Musi być łatwiejszy sposób niż to prawo?
select case when val > 0 then val else 0 end
from table
EDIT: używam Microsoft SQL Server
Co wdrażania SQL? – JNK
W Fortranie MAX (a, b, ...) zrobił to, co chcesz. W SQL niektóre dialekty obsługują takie funkcje, jak 'LARGER' lub' SMALLER' lub 'LARGEST' lub' SMALLEST'. Nie ma standardowej funkcji dla zadania AFAIK. –
Uważaj na przerażającą NULL. Czy potrzebujesz: 'CASE WHEN val IS NULL THEN 0 WHEN val> 0 THEN val ELSE 0 END' (dla przypadku, gdy 0 nie jest puste) lub' CASE, gdy val1 JEST NIŻE THEN val2 WHEN val2 IS NULL THEN val1 WHEN val1> val2 THEN val1 ELSE val2 END' dla 'MAX (val1, val2)'. –