if(condition, then, else) in Oracle

后端 未结 6 2684
甜味超标
甜味超标 2021-02-20 01:15

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         


        
6条回答
  •  广开言路
    2021-02-20 02:01

    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.

提交回复
热议问题