来源:Node.js

表达式

MySQL表达式是一种计算式或逻辑式,可用于查询、更新和过滤数据,以及进行条件判断和计算

算数表达式

进行基本的加减乘除数学运算

1
2
SELECT col1 + col2 as sum FROM table_name;
SELECT age + 100 as age FROM `user`;

字符串表达式

对字符串进行操作,例如连接、截取、替换

1
SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM table_name;

逻辑表达式

进行条件判断,返回布尔值

1
SELECT * FROM table_name WHERE age > 18 AND gender = 'Male';

条件表达式

根据条件返回不同的结果

1
SELECT CASE WHEN age < 18 THEN 'Minor' ELSE 'Adult' END AS age_group FROM table_name;

聚合函数表达式

计算数据集的聚合值,例如求和、平均值、最大最小值

1
SELECT AVG(salary) AS average_salary FROM table_name;

时间和日期表达式

处理时间和日期数据,例如提取年月份、计算日期插值

1
SELECT YEAR(date_column) AS year FROM table_name;

函数

MySQL提供了大量的内置函数,用于在查询和操作数据时进行计算、转换和处理

字符串函数

  • CONCAT(str1, str2, ...):将多个字符串连接起来
  • SUBSTRING(str, start, length):从字符串中提取子字符串
  • LEFT(str, length):从左开始提取子字符串
  • RIGHT(str, length):从右开始提取子字符串
  • UPPER(str):将字符串转换为大写
  • LOWER(str):将字符串转换为小写
  • LENGTH(str):返回字符串的长度

数值函数

  • ABS(x):返回x的绝对值
  • ROUND(x, d):将x四舍五入为d位小数
  • CEILING(x):返回不小于x的最小整数
  • FLOOR(x):返回不大于x的最大整数
  • RAND():返回一个随机数

日期和时间函数

  • NOW():返回当前日期和时间
  • CURDATE():返回当前日期
  • CURTIME():返回当前时间
  • DATE_FORMAT(date, format):将日期格式化为指定的格式
  • DATEDIFF(date1, date2):计算两个日期之间的天数差

条件函数

  • IF(condition, value_if_true, value_if_false):根据条件返回不同的值
  • CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ELSE result END:根据条件返回不同的结果

聚合函数

  • COUNT(expr):计算满足条件的行数
  • SUM(expr):计算表达式的总和
  • AVG(expr):计算表达式的平均值
  • MAX(expr):返回表达式的最大值
  • MIN(expr):返回表达式的最小值