Functions

String Functions

CONCAT - Concatenate strings

SELECT CONCAT(first_name, ' ', last_name) FROM users;

LENGTH - String length

SELECT LENGTH(column_name) FROM $TABEL_NAME;

UPPER - Convert to uppercase

SELECT UPPER(column_name) FROM $TABEL_NAME;

LOWER - Convert to lowercase

SELECT LOWER(column_name) FROM $TABEL_NAME;

SUBSTRING - Extract substring

SELECT SUBSTRING(column_name, start_position, length) FROM $TABEL_NAME;

LEFT - Extract left characters

SELECT LEFT(column_name, number_of_chars) FROM $TABEL_NAME;

RIGHT - Extract right characters

SELECT RIGHT(column_name, number_of_chars) FROM $TABEL_NAME;

TRIM - Remove leading/trailing spaces

SELECT TRIM(column_name) FROM $TABEL_NAME;

LTRIM - Remove leading spaces

SELECT LTRIM(column_name) FROM $TABEL_NAME;

RTRIM - Remove trailing spaces

SELECT RTRIM(column_name) FROM $TABEL_NAME;

REPLACE - Replace substring

SELECT REPLACE(column_name, 'old_string', 'new_string') FROM $TABEL_NAME;

LOCATE - Find position of substring

SELECT LOCATE('substring', column_name) FROM $TABEL_NAME;

REVERSE - Reverse string

SELECT REVERSE(column_name) FROM $TABEL_NAME;

REPEAT - Repeat string

SELECT REPEAT(column_name, number_of_times) FROM $TABEL_NAME;

LPAD - Left pad string

SELECT LPAD(column_name, total_length, 'pad_string') FROM $TABEL_NAME;

RPAD - Right pad string

SELECT RPAD(column_name, total_length, 'pad_string') FROM $TABEL_NAME;

Numeric Functions

ABS - Absolute value

SELECT ABS(column_name) FROM $TABEL_NAME;

ROUND - Round to decimal places

SELECT ROUND(column_name, decimal_places) FROM $TABEL_NAME;

CEIL/CEILING - Round up

SELECT CEIL(column_name) FROM $TABEL_NAME;
SELECT CEILING(column_name) FROM $TABEL_NAME;

FLOOR - Round down

SELECT FLOOR(column_name) FROM $TABEL_NAME;

MOD - Modulo operation

SELECT MOD(column_name, divisor) FROM $TABEL_NAME;

POWER/POW - Power function

SELECT POWER(column_name, exponent) FROM $TABEL_NAME;
SELECT POW(column_name, exponent) FROM $TABEL_NAME;

SQRT - Square root

SELECT SQRT(column_name) FROM $TABEL_NAME;

RAND - Random number

SELECT RAND() FROM $TABEL_NAME;

GREATEST - Maximum value

SELECT GREATEST(column1, column2, column3) FROM $TABEL_NAME;

LEAST - Minimum value

SELECT LEAST(column1, column2, column3) FROM $TABEL_NAME;

TRUNCATE - Truncate decimal

SELECT TRUNCATE(column_name, decimal_places) FROM $TABEL_NAME;

SIGN - Sign of number

SELECT SIGN(column_name) FROM $TABEL_NAME;

Date/Time Functions

NOW - Current date and time

SELECT NOW() FROM $TABEL_NAME;

CURDATE - Current date

SELECT CURDATE() FROM $TABEL_NAME;

CURTIME - Current time

SELECT CURTIME() FROM $TABEL_NAME;

DATE - Extract date part

SELECT DATE(column_name) FROM $TABEL_NAME;

TIME - Extract time part

SELECT TIME(column_name) FROM $TABEL_NAME;

YEAR - Extract year

SELECT YEAR(column_name) FROM $TABEL_NAME;

MONTH - Extract month

SELECT MONTH(column_name) FROM $TABEL_NAME;

DAY - Extract day

SELECT DAY(column_name) FROM $TABEL_NAME;

HOUR - Extract hour

SELECT HOUR(column_name) FROM $TABEL_NAME;

MINUTE - Extract minute

SELECT MINUTE(column_name) FROM $TABEL_NAME;

SECOND - Extract second

SELECT SECOND(column_name) FROM $TABEL_NAME;

DAYNAME - Day name

SELECT DAYNAME(column_name) FROM $TABEL_NAME;

MONTHNAME - Month name

SELECT MONTHNAME(column_name) FROM $TABEL_NAME;

DAYOFWEEK - Day of week (1-7)

SELECT DAYOFWEEK(column_name) FROM $TABEL_NAME;

DAYOFYEAR - Day of year

SELECT DAYOFYEAR(column_name) FROM $TABEL_NAME;

WEEK - Week number

SELECT WEEK(column_name) FROM $TABEL_NAME;

DATEDIFF - Date difference

SELECT DATEDIFF(date1, date2) FROM $TABEL_NAME;

TIMEDIFF - Time difference

SELECT TIMEDIFF(time1, time2) FROM $TABEL_NAME;

DATE_ADD - Add time interval

SELECT DATE_ADD(column_name, INTERVAL 1 DAY) FROM $TABEL_NAME;
SELECT DATE_ADD(column_name, INTERVAL 1 MONTH) FROM $TABEL_NAME;
SELECT DATE_ADD(column_name, INTERVAL 1 YEAR) FROM $TABEL_NAME;

DATE_SUB - Subtract time interval

SELECT DATE_SUB(column_name, INTERVAL 1 DAY) FROM $TABEL_NAME;
SELECT DATE_SUB(column_name, INTERVAL 1 MONTH) FROM $TABEL_NAME;
SELECT DATE_SUB(column_name, INTERVAL 1 YEAR) FROM $TABEL_NAME;

DATE_FORMAT - Format date

SELECT DATE_FORMAT(column_name, '%Y-%m-%d') FROM $TABEL_NAME;
SELECT DATE_FORMAT(column_name, '%d/%m/%Y') FROM $TABEL_NAME;

STR_TO_DATE - Convert string to date

SELECT STR_TO_DATE('2023-12-25', '%Y-%m-%d') FROM $TABEL_NAME;

UNIX_TIMESTAMP - Convert to timestamp

SELECT UNIX_TIMESTAMP(column_name) FROM $TABEL_NAME;

FROM_UNIXTIME - Convert from timestamp

SELECT FROM_UNIXTIME(column_name) FROM $TABEL_NAME;

Conditional Functions

IF - Simple conditional

SELECT IF(condition, true_value, false_value) FROM $TABEL_NAME;

CASE - Complex conditional

SELECT CASE 
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ELSE default_result
END FROM $TABEL_NAME;

IFNULL - Handle NULL values

SELECT IFNULL(column_name, 'default_value') FROM $TABEL_NAME;

NULLIF - Return NULL if equal

SELECT NULLIF(column1, column2) FROM $TABEL_NAME;

COALESCE - Return first non-NULL value

SELECT COALESCE(column1, column2, column3, 'default') FROM $TABEL_NAME;

ISNULL - Check if NULL

SELECT ISNULL(column_name) FROM $TABEL_NAME;

JSON Functions (MySQL 5.7+)

JSON_EXTRACT - Extract JSON value

SELECT JSON_EXTRACT(json_column, '$.key') FROM $TABEL_NAME;
SELECT json_column->'$.key' FROM $TABEL_NAME;

JSON_UNQUOTE - Remove quotes from JSON value

SELECT JSON_UNQUOTE(JSON_EXTRACT(json_column, '$.key')) FROM $TABEL_NAME;
SELECT json_column->>'$.key' FROM $TABEL_NAME;

JSON_OBJECT - Create JSON object

SELECT JSON_OBJECT('key1', value1, 'key2', value2) FROM $TABEL_NAME;

JSON_ARRAY - Create JSON array

SELECT JSON_ARRAY(value1, value2, value3) FROM $TABEL_NAME;

JSON_CONTAINS - Check if JSON contains value

SELECT JSON_CONTAINS(json_column, '"value"', '$.key') FROM $TABEL_NAME;

JSON_KEYS - Get JSON keys

SELECT JSON_KEYS(json_column) FROM $TABEL_NAME;

JSON_LENGTH - Get JSON length

SELECT JSON_LENGTH(json_column) FROM $TABEL_NAME;

JSON_TYPE - Get JSON type

SELECT JSON_TYPE(json_column) FROM $TABEL_NAME;

JSON_VALID - Validate JSON

SELECT JSON_VALID(json_column) FROM $TABEL_NAME;

JSON_INSERT - Insert JSON value

SELECT JSON_INSERT(json_column, '$.new_key', 'new_value') FROM $TABEL_NAME;

JSON_SET - Set JSON value

SELECT JSON_SET(json_column, '$.key', 'new_value') FROM $TABEL_NAME;

JSON_REPLACE - Replace JSON value

SELECT JSON_REPLACE(json_column, '$.key', 'new_value') FROM $TABEL_NAME;

JSON_REMOVE - Remove JSON key

SELECT JSON_REMOVE(json_column, '$.key') FROM $TABEL_NAME;

JSON_MERGE - Merge JSON objects

SELECT JSON_MERGE(json_column1, json_column2) FROM $TABEL_NAME;

JSON_SEARCH - Search in JSON

SELECT JSON_SEARCH(json_column, 'one', 'search_value') FROM $TABEL_NAME;

JSON_ARRAYAGG - Aggregate to JSON array

SELECT JSON_ARRAYAGG(column_name) FROM $TABEL_NAME GROUP BY group_column;

JSON_OBJECTAGG - Aggregate to JSON object

SELECT JSON_OBJECTAGG(key_column, value_column) FROM $TABEL_NAME GROUP BY group_column;

Last updated