🚀
13. MySQL Functions
++++
Data Engineering
May 2026×10 min read

Use common string, date, numeric, and conditional functions including CASE, COALESCE, and IFNULL.

13. MySQL Functions

Driptanil Datta
Driptanil DattaSoftware Developer

MySQL Functions

Functions transform values inside a query. They help clean text, calculate dates, round numbers, and handle conditional logic.

String functions

SELECT
  CONCAT(first_name, " ", last_name) AS full_name,
  UPPER(city) AS city_upper,
  LOWER(country) AS country_lower
FROM customers;

Trim whitespace:

SELECT TRIM("  MySQL  ") AS cleaned_text;

Extract part of a string:

SELECT SUBSTRING("Data Engineering", 1, 4) AS short_name;

Date functions

SELECT
  order_id,
  order_date,
  YEAR(order_date) AS order_year,
  MONTH(order_date) AS order_month,
  DAY(order_date) AS order_day
FROM orders;

Current date and timestamp:

SELECT
  CURRENT_DATE() AS today,
  CURRENT_TIMESTAMP() AS now;

Date difference:

SELECT
  order_id,
  DATEDIFF(CURRENT_DATE(), order_date) AS days_since_order
FROM orders;

Numeric functions

SELECT
  total_amount,
  ROUND(total_amount, 0) AS rounded_amount,
  CEIL(total_amount) AS rounded_up,
  FLOOR(total_amount) AS rounded_down
FROM orders;

CASE

CASE creates conditional values.

SELECT
  order_id,
  total_amount,
  CASE
    WHEN total_amount >= 1000 THEN "high"
    WHEN total_amount >= 500 THEN "medium"
    ELSE "low"
  END AS order_size
FROM orders;

COALESCE and IFNULL

COALESCE returns the first non-null value.

SELECT
  customer_id,
  COALESCE(phone_number, email, "no contact") AS preferred_contact
FROM customers;

IFNULL is a MySQL-specific shortcut for replacing one nullable value.

SELECT
  customer_id,
  IFNULL(phone_number, "missing") AS phone_number
FROM customers;

Use functions carefully in WHERE clauses. Applying a function to an indexed column can make the index harder for MySQL to use.

Drip

Driptanil Datta

Software Developer

Building full-stack systems, one commit at a time. This blog is a centralized learning archive for developers.

Legal Notes
Disclaimer

The content provided on this blog is for educational and informational purposes only. While I strive for accuracy, all information is provided "as is" without any warranties of completeness, reliability, or accuracy. Any action you take upon the information found on this website is strictly at your own risk.

Copyright & IP

Certain technical content, interview questions, and datasets are curated from external educational sources to provide a centralized learning resource. Respect for original authorship is maintained; no copyright infringement is intended. All trademarks, logos, and brand names are the property of their respective owners.

System Operational

© 2026 Driptanil Datta. All rights reserved.