coalesce is supported in both Oracle and SQL Server and serves essentially the same function as nvl and isnull. (There are some important differences, coalesce can take an arbitrary number of arguments, and returns the first non-null one. The return type for isnull matches the type of the first argument, that is not true for coalesce, at least on SQL Server.)

Answer from Shannon Severance on Stack Overflow
๐ŸŒ
Oracle
docs.oracle.com โ€บ en โ€บ database โ€บ other-databases โ€บ nosql-database โ€บ 20.3 โ€บ sqlreferencefornosql โ€บ is-null-and-is-not-null-operators.html
IS NULL and IS NOT NULL Operators
The IS NULL operator tests whether the result of its input expression is NULL. If the input expression returns more than one item, an error is raised. If the result of the input expression is empty, IS NULL returns false. Otherwise, IS NULL returns true if and only if the single item computed ...
๐ŸŒ
TechOnTheNet
techonthenet.com โ€บ oracle โ€บ isnull.php
Oracle / PLSQL: IS NULL Condition
You can use the Oracle IS NULL condition in PLSQL to check if a value is null.
๐ŸŒ
Oracle Tutorial
oracletutorial.com โ€บ home โ€บ oracle basics โ€บ oracle is null operator
Oracle IS NULL Operator
April 27, 2025 - SELECT * FROM orders WHERE salesman_id IS NOT NULL ORDER BY order_date DESC;Code language: SQL (Structured Query Language) (sql) ... The IS NULL returns true if a value is null or false otherwise.
๐ŸŒ
TechOnTheNet
techonthenet.com โ€บ oracle โ€บ isnotnull.php
Oracle / PLSQL: IS NOT NULL Condition
If Lvalue does not contain a null value, the "IF" expression will evaluate to TRUE. This Oracle tutorial explains how to test for a value that is null.
๐ŸŒ
W3Schools
w3schools.com โ€บ sql โ€บ sql_isnull.asp
SQL IFNULL(), ISNULL(), COALESCE(), and NVL() Functions
SQL Examples SQL Editor SQL Quiz SQL Exercises SQL Server SQL Syllabus SQL Study Plan SQL Bootcamp SQL Certificate SQL Training ... Suppose that the "UnitsOnOrder" column is optional, and may contain NULL values. ... In the example above, if any of the "UnitsOnOrder" values are NULL, the result will be NULL.
๐ŸŒ
Oracle
docs.oracle.com โ€บ cd โ€บ B19306_01 โ€บ server.102 โ€บ b14200 โ€บ sql_elements005.htm
Nulls
If a column in a row has no value, then the column is said to be null, or to contain null. Nulls can appear in columns of any datatype that are not restricted by NOT NULL or PRIMARY KEY integrity constraints. Use a null when the actual value is not known or when a value would not be meaningful.
๐ŸŒ
Red Gate Software
red-gate.com โ€บ home โ€บ checking for null with oracle sql
Checking for NULL with Oracle SQL - Simple Talk
July 14, 2021 - NULL = NULL results in FALSE where NULL IS NULL results in TRUE ... If expr1 contains a NULL value, then replace it with the value of expr2 The NVL function lets you substitute a value when a null value is encountered.
Find elsewhere
๐ŸŒ
Oracle
docs.oracle.com โ€บ en โ€บ database โ€บ oracle โ€บ oracle-database โ€บ 26 โ€บ sqlrf โ€บ Nulls.html
SQL Language Reference
1 month ago - If a column in a row has no value, then the column is said to be null, or to contain null. Nulls can appear in columns of any data type that are not restricted by NOT NULL or PRIMARY KEY integrity constraints. Use a null when the actual value is not known or when a value would not be meaningful.
๐ŸŒ
Oracle Live SQL
livesql.oracle.com โ€บ ords โ€บ livesql โ€บ file โ€บ tutorial_GIEX74ES22UVSEOB0CL100ZL1.html
Oracle Live SQL - Tutorial: Querying Null-valued Rows: Databases for Developers
Oracle Database includes many functions to help you handle nulls. NVL and coalesce are two that map nulls to non-null values. ... This takes two arguments. If the first is null, it returns the second:
๐ŸŒ
Oracle-Base
oracle-base.com โ€บ articles โ€บ misc โ€บ null-related-functions
NULL-Related Functions - ORACLE-BASE
SQL> SELECT * FROM null_test_tab ... FOUR 3 THREE FOUR 4 THREE THREE 3 rows selected. SQL> The NVL function allows you to replace null values with a default value. If the value in the first parameter is null, the function ...
๐ŸŒ
Oracle Tutorial
oracletutorial.com โ€บ home โ€บ oracle comparison functions โ€บ oracle nullif function
Oracle NULLIF Function
April 25, 2025 - SELECT salesman_id, CASE WHEN ... Code language: SQL (Structured Query Language) (sql) Use the Oracle NULLIF() function to return a null if the first argument equals ......
๐ŸŒ
DZone
dzone.com โ€บ data engineering โ€บ databases โ€บ null in oracle
NULL in Oracle
August 17, 2023 - Due to the peculiarities of the three-valued logic, NOT IN is not friendly with NULLs at all: as soon as NULL gets into the selection conditions, do not wait for the data. Here Oracle deviates from the ANSI SQL standard and declares the equivalence of NULL and the empty string.
๐ŸŒ
Database Guide
database.guide โ€บ oracle-isnull-equivalent
Oracle ISNULL() Equivalent
As mentioned, Oracle Database also provides us with the NVL2() function. This function allows us to provide another value to use in the event that the first argument is not null. ... The first argument was null and so the third argument was returned. Hereโ€™s what happens when the first argument is not null: ... The second argument is returned. If we just want to find out whether or not a value is null, we can use the IS NULL comparison condition.
Top answer
1 of 4
5

Your first CASE expression won't even compile, but if we make a small change then it will:

CASE s.COURSE_SCHEDULED_ID
    WHEN NULL THEN 'false'
    ELSE 'true'
END AS "Is scheduled?"

This will be evaluated as this:

CASE WHEN s.COURSE_SCHEDULED_ID = NULL
     THEN 'false'
     ELSE 'true'
END AS "Is scheduled?"

Note very carefully that the COURSE_SCHEDULED_ID is being compared to NULL using the equality operator. This won't work as expected with NULL. Instead, for NULL checks the second verbose version always must be used as it allows IS NULL and IS NOT NULL checks.

2 of 4
3

From the documentaion:

In a simple CASE expression, Oracle Database searches for the first WHEN ... THEN pair for which expr is equal to comparison_expr and returns return_expr. If none of the WHEN ... THEN pairs meet this condition, and an ELSE clause exists, then Oracle returns else_expr. Otherwise, Oracle returns null.

In you first version you have

CASE s.COURSE_SCHEDULED_ID WHEN IS NULL THEN

which will throw "ORA-00936: missing expression" because IS NULL is a condition, not a value or expression. So then you might think you could do:

CASE s.COURSE_SCHEDULED_ID WHEN NULL THEN

but that will go to the else value because the comparison is "expr is equal to comparison_expr", and nothing is equal to (or not equal to) null (documentation).

In your second version you now have a searched case expression:

In a searched CASE expression, Oracle searches from left to right until it finds an occurrence of condition that is true, ...

Now it is expecting a condition (rather than a value or expression), so s.COURSE_SCHEDULED_ID IS NULL can be evaluated and is true.

๐ŸŒ
SQLServerCentral
sqlservercentral.com โ€บ forums โ€บ topic โ€บ oracle-empty-string-is-the-same-as-null
Oracle empty string ('') is the same as NULL โ€“ SQLServerCentral Forums
October 11, 2010 - I would add that it depends on how you define your string. If column is defined as varchar2(1) then empty string will be treated as NULL in Oracle.
๐ŸŒ
Upscale Analytics
ramkedem.com โ€บ home โ€บ oracle is null operator
Oracle IS NULL Operator - Upscale Analytics
May 20, 2019 - In Oracle, NULL value indicates an unavailable or unassigned value. The value NULL does not equal zero (0), nor does it equal a space (โ€˜ โ€˜). Because the NULL value cannot be equal or unequal to any value, you cannot perform any comparison on NULL values by using operators such as โ€˜=โ€™ ...
๐ŸŒ
Medium
medium.com โ€บ @DigitalFootprints โ€บ how-to-handle-null-values-in-oracle-database-a4110bf8243a
How to handle NULL values in Oracle database | by BK | Medium
September 20, 2023 - If we want to select the rows where the value for a particular column is NULL, then we can use the IS NULL keyword like below: ... To do the opposite of the above example, to only select the rows where the value for particular column is not NULL, we can use the IS NOT NULL keyword: SELECT * FROM EMPLOYEES WHERE COMMISSION IS NOT NULL; ... Oracle has several in-built functions that we can use to handle NULL values.
๐ŸŒ
TechOnTheNet
techonthenet.com โ€บ oracle โ€บ functions โ€บ nullif.php
Oracle / PLSQL: NULLIF Function
The Oracle/PLSQL NULLIF function compares expr1 and expr2. If expr1 and expr2 are equal, the NULLIF function returns NULL.