将操作数和运算符组合成表达式,作为MySQL的操作对象。操作数包括以下几类:
*
SELECT number, subject, socre + 100 AS score FROM student_score;
SELECT number, subject, score FROM student_score WHERE score >= 60;
关于<=>和NULL值安全可以参考下面的示例进行理解:
mysql> SELECT NULL = NULL; +-------------+ | NULL = NULL | +-------------+ | NULL | +-------------+ 1 row in set (0.00 sec) mysql> SELECT NULL <=> NULL; +---------------+ | NULL <=> NULL | +---------------+ | 1 | +---------------+ 1 row in set (0.00 sec)
用于字符串大小写转换,取子串,连接字符串,计算长度等操作。
用于获取当前时间,年份,月份,日期,时,分,秒等操作,还可以计算两个时间的差值。
比如获取绝对值,求模,求平方根,求随机数,求ceil和floor等。
CASE WHEN 表达式1 THEN 结果1 [WHEN 表达式2 THEN 结果2 ...] [ELSE 默认结果] END
示例:
mysql> SELECT number, subject, score, -> CASE WHEN score < 60 THEN '不及格' -> WHEN score < 90 THEN '及格' -> ELSE '优秀' END AS level -> FROM student_score;
CASE表达式的第二种形式:
CASE 待比较的表达式 WHEN 表达式1 THEN 结果1 [WHEN 表达式2 THEN 结果2 ...] [ELSE 默认结果] END
mysql> SELECT name, department, -> CASE department WHEN '计算机学院' THEN '1级学科', -> WHEN '航天学院' THEN '2级学科' END AS 学院类别 -> FROM student_info;
和IF相关的三个判断函数:
也称为统计函数或者聚集函数,常见的有以下几个: