MySQL/MSSQL has a neat little inline if function you can use within queries to detect null values, as shown below.
SELECT
...
foo.a_field AS \"a_field\",
SELEC
Just do nvl(foo.bar,0)
, you don't have to do
(select nvl(foo.bar,0)...
Use the standard COALESCE function:
SELECT COALESCE(foo.bar, 0) as "bar", ...
Or use Oracle's own NVL function that does the same.
Yup, NVL should do the trick.
You want the nvl function: nvl(foo.bar, 0)
Oracle does support various ifs and cases as well.
To supplement the rest of the answers here, which deal primarily with NULL values and COALESCE/NVL/NVL2:
SELECT *
FROM TheTable
WHERE field1 = CASE field2 WHEN 0 THEN 'abc' WHEN 1 THEN 'def' ELSE '' END
CASE statements are not as succinct, obviously, but they are geared towards flexibility. This is particularly useful when your conditions are not based on NULL-ness.
You want to use NVL, or NVL2
NVL(t.column, 0)
NVL2( string1, value_if_NOT_null, value_if_null )