---------------------SQL函数----------------------------------
1、AVG() - 返回平均值
2、COUNT() - 返回行数
3、FIRST() - 返回第一个记录的值
4、LAST() - 返回最后一个记录的值
5、MAX() - 返回最大值
6、MIN() - 返回最小值
7、SUM() - 返回总和
8、UCASE() - 将某个字段转换为大写
9、LCASE() - 将某个字段转换为小写
10、MID() - 从某个文本字段提取字符,MySql 中使用
11、SubString(字段,1,end) - 从某个文本字段提取字符
12、LEN() - 返回某个文本字段的长度
13、ROUND() - 对某个数值字段进行指定小数位数的四舍五入
14、NOW() - 返回当前的系统日期和时间
15、FORMAT() - 格式化某个字段的显示方式
16、COALESCE函数(中文含义:联合)
select COALESCE(cust_cnt_total,0) cust_cnt_total from table
第一个参数有值就返回第一个,否则返回第二个
17、INTERVAL(中文含义:间隔)
用法一:INTERVAL函数
SELECT id,point,INTERVAL(point,25,50) from test;
解释:
point字段参与判断,设定的区段是25,50,那么小于25的值返回0,大于等于25小于50的值返回1,大于等于50的值返回2。
用法二:INTERVAL关键字,INTERVAL关键字可以用于计算时间间隔
1、查询当前时间之前3个小时的日期
SELECT NOW() -INTERVAL 3 HOUR;
注:INTERVAL后面的数字可以用数字格式或者字符格式,当时间单位是YEAR_MONTH这种时,必须用字符格式。
2、用在时间函数中
NTERVAL关键字可以用在DATE_SUB(),SUBDATE(),ADDDATE()等函数中
例如:查询三天前的时间
SELECT NOW(),SUBDATE(NOW(),INTERVAL 3 DAY)
SELECT NOW(),SUBDATE(NOW(),INTERVAL 3 DAY),NOW()-INTERVAL 3 HOUR
更多函数参考这位老哥写的:https://blog.csdn.net/lkforce/article/details/109537645
18、Case when 条件判断函数
1、简单函数
CASE 字段 WHEN 预期值 THEN 结果1 ELSE 结果2 END
例子:
CREATE TABLE `table_a` (
`id` INT(10) NOT NULL AUTO_INCREMENT,
`country` VARCHAR(100) DEFAULT NULL,
`population` INT(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;
INSERT INTO table_A (country,population) VALUES('中国',600);
INSERT INTO table_A (country,population) VALUES('美国',100);
INSERT INTO table_A (country,population) VALUES('加拿大',100);
INSERT INTO table_A (country,population) VALUES('英国',200);
INSERT INTO table_A (country,population) VALUES('法国',300);
INSERT INTO table_A (country,population) VALUES('日本',250);
INSERT INTO table_A (country,population) VALUES('德国',200);
INSERT INTO table_A (country,population) VALUES('墨西哥',50);
INSERT INTO table_A (country,population) VALUES('印度',250);
SELECT
CASE country
WHEN '中国' THEN '亚洲'
WHEN '印度' THEN '亚洲'
WHEN '日本' THEN '亚洲'
WHEN '美国' THEN '北美洲'
WHEN '加拿大' THEN '北美洲'
WHEN '墨西哥' THEN '北美洲'
ELSE '其他'
END AS '洲',
SUM(population) AS '人口'
FROM table_A
GROUP BY CASE country
WHEN '中国' THEN '亚洲'
WHEN '印度' THEN '亚洲'
WHEN '日本' THEN '亚洲'
WHEN '美国' THEN '北美洲'
WHEN '加拿大' THEN '北美洲'
WHEN '墨西哥' THEN '北美洲'
ELSE '其他' END;
2、条件表达式
CASE
WHEN condition THEN result1 ELSE result2
END
语句中的condition是条件判断,如果该判断结果为true,那么CASE语句将返回result,否则返回result2,如果没有ELSE,则返回null。CASE与END之间可以有多个WHEN…THEN…ELSE语句。END表示CASE语句结束
3、综合运算
CASE WHEN 和 聚合函数综合使用,能实现更加复杂的统计功能
19、IF
IF函数也能通过判断条件来返回特定值,它的语法如下:
IF(expr,result_true,result_false)
20、IFNULL
在Java程序中调用sql语句时,如果返回结果是null
,是非常容易引发一些意外情况的
因此,我们希望在SQL中做一些处理,如果查询结果是null
,就转换为特定的值,这就要用到Mysql中IFNULL
函数
21、