记录一些MySQL常用的内置函数(会不定期更新),具体使用如下:
-- 字符串拼接函数
-- SELECT CONCAT(str1,str2,...);
SELECT CONCAT('Hello',' ','world',' !');
-- Hello world !
-- 字符串重复(复制)函数
-- SELECT REPEAT(str,count);
SELECT REPEAT('Hello',2);
-- HelloHello
-- 字符串替换函数
-- SELECT REPLACE(str,from_str,to_str);
SELECT REPLACE('Hello world !','Hello','666');
-- 666 world !
-- 嵌套
SELECT REPLACE(REPLACE('Hello world !','Hello','666'),'666','777');
-- 777 world !
-- 时间函数
-- SELECT NOW();
SELECT NOW();
-- 2025-02-26 17:18:00
SELECT CURRENT_TIMESTAMP();
-- 2025-02-26 17:17:40
SELECT CURRENT_DATE();
-- 2025-02-26
SELECT CURRENT_TIME();
-- 17:17:23
-- 日期格式化函数,注意格式化中的大小写
-- https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_date-format
-- SELECT DATE_FORMAT(date,format);
SELECT NOW(),DATE_FORMAT(now(),'%Y-%m-%d %H:%i:%s');
-- 2025-02-26 17:23:20 2025-02-26 17:23:20
-- 时间相加、相减函数
-- SELECT DATE_ADD(date,INTERVAL expr unit);
-- SELECT DATE_SUB(date,INTERVAL expr unit);
SELECT NOW(),DATE_ADD(NOW(),INTERVAL 1 day);
-- 2025-02-26 17:26:28 2025-02-27 17:26:28
SELECT NOW(),DATE_ADD(NOW(),INTERVAL -1 day);
-- 2025-02-26 17:26:34 2025-02-25 17:26:34
SELECT NOW(),DATE_SUB(NOW(),INTERVAL 1 day);
-- 2025-02-26 17:27:22 2025-02-25 17:27:22
-- IF 条件函数
-- SELECT IF(expr1,expr2,expr3);
SELECT IF(true,1,2);
-- 1
SELECT IF(FALSE,1,2);
-- 2
-- IFNULL 判空函数(只能支持2个参数,多个得嵌套)
-- SELECT IFNULL(expr1,expr2);
SELECT IFNULL('111','222');
-- 111
SELECT IFNULL(NULL,'222');
-- 222
SELECT IFNULL(NULL,NULL);
-- NULL
SELECT IFNULL(NULL,NULL,'222');
-- > 1582 - Incorrect parameter count in the call to native function 'IFNULL'
SELECT IFNULL(IFNULL(NULL,NULL),'222');
-- 222
-- 判空 函数(常用于设置默认值,支持多个参数)
-- SELECT COALESCE(value,...);
SELECT COALESCE('111','NULL');
-- 111
SELECT COALESCE(null,'NULL');
-- 'NULL' (文本)
SELECT COALESCE(null,0);
-- 0
-- 字母大写 函数
-- SELECT UPPER(str);
SELECT UPPER('hello');
-- HELLO
SELECT UPPER('HELLO');
-- HELLO
-- 字母小写 函数
-- SELECT LOWER(str);
SELECT LOWER('hello');
-- hello
SELECT LOWER('HELLO');
-- hello
-- 字节长度 函数
-- SELECT LENGTH(str);
SELECT LENGTH('hello');
-- 5
SELECT LENGTH('你好');
-- 6
SELECT LENGTH(1);
-- 1
-- 字符长度 函数
-- SELECT CHAR_LENGTH(str);
SELECT CHAR_LENGTH('hello');
-- 5
SELECT CHAR_LENGTH('你好');
-- 2