MySQL内置函数
发布人:shili8
发布时间:2024-11-16 04:58
阅读次数:0
**MySQL 内置函数**
MySQL 提供了大量的内置函数,用于处理各种类型的数据操作。这些函数可以帮助你简化 SQL语句,使得你的数据库管理更加高效。
### 数值函数#### ABS()
`ABS()` 函数返回一个数值的绝对值。
sqlSELECT ABS(-5) AS result; // 返回结果:5
#### CEIL()
`CEIL()` 函数返回一个数值的最小整数。
sqlSELECT CEIL(3.7) AS result; // 返回结果:4
#### FLOOR()
`FLOOR()` 函数返回一个数值的最大整数。
sqlSELECT FLOOR(3.7) AS result; // 返回结果:3
#### MOD()
`MOD()` 函数返回两个数值的余数。
sqlSELECT MOD(17,5) AS result; // 返回结果:2
#### POW()
`POW()` 函数返回一个数值的幂。
sqlSELECT POW(2,3) AS result; // 返回结果:8
#### RAND()
`RAND()` 函数返回一个随机数。
sqlSELECT RAND() AS result;
#### ROUND()
`ROUND()` 函数返回一个数值的四舍五入值。
sqlSELECT ROUND(3.7) AS result; // 返回结果:4
### 字符串函数#### ASCII()
`ASCII()` 函数返回一个字符的 ASCII 值。
sqlSELECT ASCII('A') AS result; // 返回结果:65
#### CHAR()
`CHAR()` 函数返回一个 ASCII 值对应的字符。
sqlSELECT CHAR(65) AS result; // 返回结果:'A'
#### CONCAT()
`CONCAT()` 函数连接两个或多个字符串。
sqlSELECT CONCAT('Hello', ' ', 'World') AS result; // 返回结果:'Hello World'
#### INSTR()
`INSTR()` 函数返回一个字符串中某个子串的位置。
sqlSELECT INSTR('Hello World', 'World') AS result; // 返回结果:7
#### LCASE()
`LCASE()` 函数返回一个字符串的小写版本。
sqlSELECT LCASE('HELLO WORLD') AS result; // 返回结果:'hello world'
#### LENGTH()
`LENGTH()` 函数返回一个字符串的长度。
sqlSELECT LENGTH('Hello World') AS result; // 返回结果:11
#### LOWER()
`LOWER()` 函数返回一个字符串的小写版本。
sqlSELECT LOWER('HELLO WORLD') AS result; // 返回结果:'hello world'
#### LPAD()
`LPAD()` 函数返回一个字符串的左边填充指定长度的字符。
sqlSELECT LPAD('Hello',10, '*') AS result; // 返回结果:'***Hello'
#### LTRIM()
`LTRIM()` 函数返回一个字符串的左边去除空格。
sqlSELECT LTRIM(' Hello World') AS result; // 返回结果:'Hello World'
#### MID()
`MID()` 函数返回一个字符串中某个范围内的子串。
sqlSELECT MID('Hello World',7,5) AS result; // 返回结果:'World'
#### REPEAT()
`REPEAT()` 函数返回一个字符串重复指定次数。
sqlSELECT REPEAT('Hello',3) AS result; // 返回结果:'HelloHelloHello'
#### REPLACE()
`REPLACE()` 函数返回一个字符串中某个子串替换为另一个字符。
sqlSELECT REPLACE('Hello World', 'World', 'MySQL') AS result; // 返回结果:'Hello MySQL'
#### RIGHT()
`RIGHT()` 函数返回一个字符串的右边指定长度的子串。
sqlSELECT RIGHT('Hello World',5) AS result; // 返回结果:'World'
#### RTRIM()
`RTRIM()` 函数返回一个字符串的右边去除空格。
sqlSELECT RTRIM(' Hello World') AS result; // 返回结果:'Hello World'
#### SPACE()
`SPACE()` 函数返回指定长度的空白字符。
sqlSELECT SPACE(5) AS result; // 返回结果:''
#### STRCMP()
`STRCMP()` 函数比较两个字符串并返回一个整数值。
sqlSELECT STRCMP('Hello', 'World') AS result; // 返回结果:-1
#### SUBSTRING()
`SUBSTRING()` 函数返回一个字符串中某个范围内的子串。
sqlSELECT SUBSTRING('Hello World',7,5) AS result; // 返回结果:'World'
#### TRIM()
`TRIM()` 函数返回一个字符串去除指定边的空格。
sqlSELECT TRIM(' Hello World') AS result; // 返回结果:'Hello World'
#### UCASE()
`UCASE()` 函数返回一个字符串的大写版本。
sqlSELECT UCASE('hello world') AS result; // 返回结果:'HELLO WORLD'
### 日期函数#### CURDATE()
`CURDATE()` 函数返回当前日期。
sqlSELECT CURDATE() AS result;
#### DATE()
`DATE()` 函数返回一个时间戳对应的日期。
sqlSELECT DATE('2022-07-2514:30:00') AS result; // 返回结果:'2022-07-25'
#### DATEDIFF()
`DATEDIFF()` 函数返回两个日期之间的天数差异。
sqlSELECT DATEDIFF('2022-07-25', '2022-07-20') AS result; // 返回结果:5
#### DATE_FORMAT()
`DATE_FORMAT()` 函数返回一个时间戳对应的格式化日期。
sqlSELECT DATE_FORMAT('2022-07-2514:30:00', '%Y-%m-%d %H:%i') AS result; // 返回结果:'2022-07-2514:30'
#### NOW()
`NOW()` 函数返回当前时间戳。
sqlSELECT NOW() AS result;
#### SEC_TO_TIME()
`SEC_TO_TIME()` 函数返回一个秒数对应的时间戳。
sqlSELECT SEC_TO_TIME(3600) AS result; // 返回结果:'01:00:00'
#### STR_TO_DATE()
`STR_TO_DATE()` 函数返回一个字符串对应的日期。
sqlSELECT STR_TO_DATE('2022-07-25', '%Y-%m-%d') AS result; // 返回结果:'2022-07-25'
### 流程控制函数#### IF()
`IF()` 函数用于判断条件并返回相应值。
sqlSELECT IF(5 >3, 'True', 'False') AS result; // 返回结果:'True'
#### CASE()
`CASE()` 函数用于根据条件返回不同值。
sqlSELECT CASE WHEN5 >3 THEN 'True' ELSE 'False' END AS result; // 返回结果:'True'
#### IFNULL()
`IFNULL()` 函数用于判断两个值是否为 NULL,并返回其中一个非 NULL 值。
sqlSELECT IFNULL(NULL, 'Hello') AS result; // 返回结果:'Hello'
#### COALESCE()
`COALESCE()` 函数用于判断多个值中哪一个为 NULL,并返回第一个非 NULL 值。
sqlSELECT COALESCE(NULL, 'Hello', 'World') AS result; // 返回结果:'Hello'
### 其他函数#### GET_LOCK()
`GET_LOCK()` 函数用于获取一个锁,防止多个线程同时执行同一块代码。
sqlSELECT GET_LOCK('my_lock',10) AS result;
#### IS_FREE_LOCK()
`IS_FREE_LOCK()` 函数用于判断一个锁是否已经释放。
sqlSELECT IS_FREE_LOCK('my_lock') AS result;
#### RELEASE_LOCK()
`RELEASE_LOCK()` 函数用于释放一个锁。
sqlSELECT RELEASE_LOCK('my_lock') AS result;
这些是 MySQL 内置函数的一部分。它们可以帮助你简化 SQL语句,使得你的数据库管理更加高效。