MySQL函数使用说明

MySQL内置函数使用说明_字符串

MySQL 是一个流行的关系型数据库管理系统,它提供了许多内置函数来处理和操作数据。这些函数可以简化数据库查询和操作的过程,提高代码的可读性和效率。以下是一些常见的 MySQL 内置函数及其使用说明和示例。

数值函数

ABS()

函数原型:ABS(x) 返回参数x的绝对值。

示例:

SELECT ABS(-5); -- 返回 5

ROUND(x, 保留位数)

函数原型:ROUND(x, d) 将参数x四舍五入到指定的保留位数d。

示例:

SELECT ROUND(3.14159, 2);  -- 返回 3.14

CEIL(x)

函数原型:CEIL(x) 返回大于或等于参数x的最小整数。

示例:

SELECT CEIL(3.7); -- 返回 4

FLOOR(x)

函数原型:FLOOR(x) 返回小于或等于参数x的最大整数。

示例:

SELECT FLOOR(3.7); -- 返回 3

TRUNCATE(x, D)

函数原型:TRUNCATE(x, D) 将参数x截断到指定的小数位数D。

示例:

SELECT TRUNCATE(3.14159, 2); -- 返回 3.14

条件函数

IF()

函数原型:IF(condition, true_value, false_value) 根据条件condition返回不同的值。

示例:

SELECT IF(10 > 5, 'true', 'false'); -- 返回 'true'

IFNULL()

函数原型:IFNULL(expression, value) 如果expression不为NULL,则返回expression的值,否则返回value。

示例:

SELECT IFNULL(NULL, 'not null'); -- 返回 'not null'

字符串函数

CONCAT()

函数原型:CONCAT(string1, string2, ..., stringN) 将多个字符串连接为一个字符串。

示例:

SELECT CONCAT('Hello', ' ', 'World'); -- 返回 'Hello World'

CONCAT_WS()

函数原型:CONCAT_WS(separator, string1, string2, ..., stringN) 将多个字符串连接为一个字符串,使用separator分隔。

示例:

SELECT CONCAT_WS(',', 'apple', 'banana', 'orange'); -- 返回 'apple,banana,orange'

LENGTH()

函数原型:LENGTH(string) 返回字符串的长度。

示例:

SELECT LENGTH('Hello'); -- 返回 5

LEFT()

函数原型:LEFT(string, length) 返回字符串左边指定长度的子字符串。

示例:

SELECT LEFT('Hello', 3); -- 返回 'Hel'

RIGHT()

函数原型:RIGHT(string, length) 返回字符串右边指定长度的子字符串。

示例:

SELECT RIGHT('Hello', 3); -- 返回 'llo'

MID()

函数原型:MID(string, start, length) 返回字符串从指定位置开始指定长度的子字符串。

示例:

SELECT MID('Hello', 2, 3); -- 返回 'ell'

REPLACE()

函数原型:REPLACE(string, old_text, new_text) 替换字符串中的某个子字符串。

示例:

SELECT REPLACE('Hello World', 'World', 'Bob'); -- 返回 'Hello Bob'

SUBSTRING()

函数原型:SUBSTRING(string, start, length) 返回字符串从指定位置开始指定长度的子字符串。

示例:

SELECT SUBSTRING('Hello', 2, 3); -- 返回 'ell'

SUBSTRING_INDEX()

函数原型:SUBSTRING_INDEX(string, delimiter, count) 返回字符串中指定子字符串的出现位置,并返回该子字符串。

示例:

SELECT SUBSTRING_INDEX('www.example.com', '.', 2); -- 返回 'www.example'

聚合函数

COUNT()

函数原型:COUNT(expression) 返回表中行的数量。

示例:

SELECT COUNT(*) FROM users; -- 返回 users 表的行数

COUNT_BIG()

函数原型:COUNT_BIG(expression) 返回表中行的数量(不限制结果集的大小)。

示例:

SELECT COUNT_BIG(*) FROM users; -- 返回 users 表的行数

SUM()

函数原型:SUM(expression) 返回表中指定列的总和。

示例:

SELECT SUM(price) FROM orders; -- 返回 orders 表中 price 列的总和

AVG()

函数原型:AVG(expression) 返回表中指定列的平均值。

示例:

SELECT AVG(age) FROM students; -- 返回 students 表中 age 列的平均值

MAX()

函数原型:MAX(expression) 返回表中指定列的最大值。

示例:

SELECT MAX(score) FROM exams; -- 返回 exams 表中 score 列的最大值

MIN()

函数原型:MIN(expression) 返回表中指定列的最小值。

示例:

SELECT MIN(price) FROM products; -- 返回 products 表中 price 列的最小值

GROUP_CONCAT()

函数原型:GROUP_CONCAT(expression, separator) 将多个字符串连接起来,并将它们作为一行显示在结果集中。

示例:

SELECT GROUP_CONCAT(name, ', ') FROM students; -- 返回 students 表中 name 列的所有值,使用逗号分隔

日期和时间函数

DATE_FORMAT()

函数原型:DATE_FORMAT(date, format) 格式化日期时间字符串。

示例:

SELECT DATE_FORMAT(CURRENT_TIMESTAMP, '%Y-%m-%d'); -- 返回当前日期的年、月、日格式

DATE_ADD()

函数原型:DATE_ADD(date, INTERVAL value unit) 将一个日期加上指定的时间间隔。

示例:

SELECT DATE_ADD('2021-01-01', INTERVAL 1 MONTH); -- 返回 '2021-02-01'

DATE_SUB()

函数原型:DATE_SUB(date, INTERVAL value unit) 将一个日期减去指定的时间间隔。

示例:

SELECT DATE_SUB('2021-01-01', INTERVAL 1 DAY); -- 返回 '2020-12-31'

TIME_FORMAT()

函数原型:TIME_FORMAT(time, format) 格式化时间戳字符串。

示例:

SELECT TIME_FORMAT('12:30:45', '%H:%i:%s'); -- 返回 '12:30:45'

UNIX_TIMESTAMP()

函数原型:UNIX_TIMESTAMP([date]) 将日期时间字符串转换为 Unix 时间戳。

示例:

SELECT UNIX_TIMESTAMP('2021-01-01 12:00:00'); -- 返回 Unix 时间戳

YEAR()

函数原型:YEAR(date) 提取日期时间字符串中的年份部分。

示例:

SELECT YEAR('2021-01-01'); -- 返回 2021

MONTH()

函数原型:MONTH(date) 提取日期时间字符串中的月份部分。

示例:

SELECT MONTH('2021-01-01'); -- 返回 1

DAY()

函数原型:DAY(date) 提取日期时间字符串中的天数部分。

示例:

SELECT DAY('2021-01-01'); -- 返回 1

HOUR()

函数原型:HOUR(time) 提取日期时间字符串中的小时部分。

示例:

SELECT HOUR('12:30:45'); -- 返回 12

MINUTE()

函数原型:MINUTE(time) 提取日期时间字符串中的分钟部分。

示例:

SELECT MINUTE('12:30:45'); -- 返回 30

SECOND()

函数原型:SECOND(time) 提取日期时间字符串中的秒数部分。

示例:

SELECT SECOND('12:30:45'); -- 返回 45

以上是一些常用的MySQL函数的说明和示例。这些函数可以帮助你更好地处理和操作数据,在MySQL语句中起到重要的作用。使用这些函数可以提高查询效率和数据处理的灵活性。更多函数的详细说明可以参考MySQL官方文档。