The COALESCE() function in MySQL is used to return the first non-NULL value from a list of arguments. If all the arguments are NULL, it will return NULL. It's particularly useful for handling NULL values in data.
Syntax:
COALESCE(value1, value2, ..., value_n)
value1, value2, ..., value_n: A list of values to evaluate.
Key Features:
- Non-NULL Values: It scans the list from left to right and returns the first non-NULL value.
- NULL Handling: If all arguments are
NULL, the result isNULL. - Data Type: The return type is determined by the highest precedence of the data types among the arguments.
Example Usage:
1. Simple Example
SELECT COALESCE(NULL, NULL, 'Hello', 'World') AS result;
Result: 'Hello'
Explanation: It returns the first non-NULL value.
2. Using with Table Data
Suppose we have a table users:
| id | first_name | last_name | nickname |
|---|---|---|---|
| 1 | NULL | Doe | JDoe |
| 2 | Jane | NULL | JSmith |
| 3 | NULL | NULL | CoolUser |
| 4 | NULL | NULL | NULL |
Query:
SELECT
id,
COALESCE(first_name, last_name, nickname, 'Anonymous') AS display_name
FROM
users;
Result:
| id | display_name |
|---|---|
| 1 | Doe |
| 2 | Jane |
| 3 | CoolUser |
| 4 | Anonymous |
3. Default Values
You can use COALESCE() to provide default values when a column has NULL:
SELECT
product_id,
COALESCE(discount, 0) AS discount
FROM
products;
This ensures that NULL discounts are treated as 0.
Benefits of COALESCE:
- Simplifies handling
NULLvalues. - Supports multiple arguments, making it more flexible than
IFNULL(), which only works with two arguments.
Let me know if you'd like further clarification or additional examples!
No comments:
Post a Comment