Skip to content

MySQL 函数

字符串

sql
SELECT LENGTH('hello');
SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM users;
SELECT UPPER('hello'), LOWER('HELLO');
SELECT SUBSTRING('abcdef', 1, 3);
SELECT REPLACE('a-b-c', '-', '_');
SELECT TRIM('  hello  ');

SUBSTRING 的位置从 1 开始。

数字

sql
SELECT ROUND(1.567, 2);
SELECT CEIL(1.2);
SELECT FLOOR(1.8);
SELECT TRUNCATE(1.699, 1);
SELECT MOD(10, 3);
SELECT RAND();

日期时间

sql
SELECT NOW();
SELECT CURDATE();
SELECT CURTIME();
SELECT YEAR(NOW()), MONTH(NOW()), DAY(NOW());
SELECT DATEDIFF('2026-01-10', '2026-01-01');

格式化日期:

sql
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');
SELECT STR_TO_DATE('2026-01-01', '%Y-%m-%d');

空值处理

sql
SELECT IFNULL(NULL, 'default');
SELECT COALESCE(NULL, NULL, 'default');

条件函数

sql
SELECT IF(score >= 60, 'pass', 'fail') AS result
FROM exams;
sql
SELECT
  CASE
    WHEN score >= 90 THEN 'A'
    WHEN score >= 80 THEN 'B'
    WHEN score >= 60 THEN 'C'
    ELSE 'D'
  END AS grade
FROM exams;

系统信息

sql
SELECT VERSION();
SELECT DATABASE();
SELECT USER();

基于 MIT 许可发布