单行函数
1.字符函数
-
函数 说明 范例 length() 返回参数的字节个数 SELECT LENGTH(“hello”)//输出5 concat() 拼接字符串 SELECT CONCAT(id,"_",onename) FROM ssm; upper() 将字符大写 SELECT UPPER(onename) FROM ssm; lower() 将字符小写 SELECT LOWER(email) FROM ssm; substr() 截取字符 SELECT SUBSTR(“杨过爱上了小龙女”,6,2)//输出小龙 instr() 返回子串,第一次出现的位置 SELECT INSTR(“张无忌爱上了赵敏”,“赵敏”);//输出7 trim() 取出左右来两端的字符 SELECT TRIM(“a” FROM “aaaaa张aaa无忌aaaa”);//输出张aaa无忌 lpad() 用指定的字符天实现左填充指定长度 SELECT LPAD(“张无忌”,12,‘a’)//输出aaaaaaaaa张无忌 rpad() 用指定的字符实现右填充指定长度 SELECT LPAD(“张无忌”,12,‘a’)//输出张无忌aaaaaaaaa replace() 替换 SELECT REPLACE (“张无忌爱上了周芷若”,“周芷若”,“赵敏”);//输出张无忌爱上了赵敏
2.数学函数
-
函数 说明 范例 round() 四舍五入 SELECT ROUND(-1.55);//输出-2 SELECT ROUND(1.646,2)//输出1.65 ceil() 向上取整 SELECT CEIL(-1.02)//输出-1 floor() 向下取整 SELECT FLOOR(-9.99)//输出-10 truncate 截断 SELECT TRUNCATE(1.42645,2)//输出1.42 mod() 取余 SELECT MOD(-5,3)//输出-2
3.日期函数
-
函数 说明 范例 NOW() 返回当前日期 SELECT NOW()//输出2021-07-17 10:41:30 curdate 返回当前的日期,不包含时间 SELECT CURDATE()//输出2021-07-17 curtime() 返回当前的时间,不包含日期 SELECT CURTIME()//输出10:43:47 year() 返回指定的年 同理可以返回指定的月、日、时、分、秒。 SELECT YEAR(NOW())//输出2021. -
函数 说明 范例 str_to_date 将字符通过指定的格式转化为日期 SELECT STR_TO_DATE(“7-17-2021”,"%m-%d-%Y")输出2021-07-17 date_format 将日期转化为字符 SELECT DATE_FORMAT(“2021-07-17”,"%m月%d日%Y年")//输出07月17日2021年
4.流程控制函数
-
函数 说明 范例 if函数 如同if-else SELECT IF(10<5,“大”,“小”)//输出 大 case函数 如同switch case的效果 SELECT id,onename,
CASE id
WHEN id<1000 THEN id1
WHEN id BETWEEN 1000 AND 10000 THEN id2
ELSE id*3
END
FROM ssm
分组函数
用于 统计使用
-
函数 说明 AVG() 返回某列的平均值 COUNT() 返回某列的行数 MAX() 返回某列的最大值 MIN() 返回某列的最小值 SUM() 返回某列之和 -
AVG():通过对表中行数计数并计算其列值之和,求得该列的平均值。AVG()可用来返回所有列的平均值,也可以用来返回特定列或行的平均值。
select AVG(price) from products
-
注意:
- 只用于单个列。AVG()只能用来确定特定数值列的平均值,而且列名必须作为函数参数给出。为了获得多个列的平均值,必须使用多个AVG()函数。
- AVG()函数忽略列值为NULL的行。
-
COUNT():函数进行计数。可利用COUNT()确定表中行的数目或符合特定条件的行的数目。
-
COUNT()函数有两种使用方式:
- 使用COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值(NULL)还是非空值。
- 使用COUNT(column)对特定列中具有值的行进行计数,忽略NULL值。
-
MAX():返回指定列中的最大值。MAX()要求指定列名.
-
注意:
- 对非数值数据使用MAX()虽然MAX()一般用来找出最大的数值或日期值,但许多(并非所有)DBMS允许将它用来返回任意列中的最大值,包括返回文本列中的最大值。在用于文本数据时,MAX()返回按该列排序后的最后一行。
- MAX()函数忽略列值为NULL的行
-
MIN():的功能正好与MAX()功能相反,它返回指定列的最小值。与MAX()一样,MIN()要求指定列名
-
注意:
- 对非数值数据使用MIN()虽然MIN()一般用来找出最小的数值或日期值,但许多(并非所有)DBMS允许将它用来返回任意列中的最小值,包括返回文本列中的最小值。在用于文本数据时,MIN()返回该列排序后最前面的行。
- MIN()函数忽略列值为NULL的行。
-
SUM()用来返回指定列值的和(总计)
-
SUM()函数忽略列值为NULL的行。