MYSQL查询小结(2)–常见函数
1.调用:
select 函数名(实参列表) 【from 表】;
2.分类:
①单行函数:如concat、length、ifnull等
②分组函数:做统计使用,又称为统计函数、聚合函数、组函数
3.常见函数
①字符函数:concat、length(获取字节个数)、substr、instr、trim、upper、lower、lpad、rpad、replace。
②数学函数:round、ceil、floor、truncate、mod。
③日期函数:now、curdate、curtime、year、month、monthname、day、hour、minute、second、str_to_date、date_format。
④其他函数:version、database、user。
⑤控制函数:if、case。
一、字符函数
1.length :获取参数值的字节个数。
SELECT LENGTH('痛仰乐队hahaha');
返回值为18(utf-8下一个汉字占3个字节)
2.concat :拼接字符串。
3.upper :全部变为大写。
lower :全部变为小写。
4.substr、substring
(注意:索引从1开始)
(1)截取从指定索引处后面所有字符
SELECT SUBSTR('痛仰的公路之歌',4) out_put;
输出为:公路之歌
(2)截取从指定索引处指定字符长度的字符
SELECT SUBSTR('痛仰的公路之歌',4,2) out_put;
输出为:公路
5.instr 返回子串第一次出现的索引,如果找不到返回0
SELECT INSTR('痛仰唱了公路之歌','公路之歌')AS out_put;
返回值为:5
6.trim :用来移除掉一个字串中的字头或字尾。最常见的用途是移除字首或字尾的空白。
SELECT TRIM(' 痛仰 ') AS out_put;
SELECT LENGTH(TRIM(' 痛仰 ')) AS out_put;
第一个返回的是:痛仰
第二个返回的是:6
还可以去除指定值:
SELECT TRIM('aa' FROM 'aaa痛aa仰aa') AS out_put;
返回值:a痛aa仰
7.lpad : 用指定的字符实现左填充指定长度
8.rpad : 用指定的字符实现右填充指定长度
9.replace :替换
SELECT REPLACE('痛仰唱了公路之歌','公路之歌','再见杰克') AS out_put;
输出为:痛仰唱了再见杰克
二、数学函数
- round :四舍五入
- ceil : 向上取整,返回>=该参数的最小整数
- floor: 向下取整,返回<=该参数的最大整数
- truncate : 截断
SELECT TRUNCATE(1.69999,1);
输出为:1.6
5. mod :取余
三、日期函数
1.now : 返回当前系统时间
2.curdate : 返回当前系统日期,不包含时间
3.curtime :返回当前时间,不包含日期
4.可以获取指定的部分,年、月、日、小时、分钟、秒
SELECT YEAR(NOW()) 年;
SELECT YEAR('1998-1-1') 年;
SELECT MONTH(NOW()) 月;
5.str_to_date : 将字符通过指定的格式转换成日期
SELECT STR_TO_DATE('1998-3-2','%Y-%c-%d') AS out_put;
6.date_format : 将日期转换成字符
SELECT DATE_FORMAT(NOW(),'%y年%m月%d日') AS out_put;
四、其他函数
SELECT VERSION();
SELECT DATABASE();
SELECT USER();
五、流程控制函数
1.if函数:if else 的效果
SELECT IF(10<5,'正确','错误');
输出为:错误
2.case函数的使用一: switch case 的效果
case 要判断的字段或表达式
when 常量1 then 要显示的值1或语句1;
when 常量2 then 要显示的值2或语句2;
...
else 要显示的值n或语句n;
end
3.case 函数的使用二:类似于多重if
case
when 条件1 then 要显示的值1或语句1
when 条件2 then 要显示的值2或语句2
...
else 要显示的值n或语句n
end
MYSQL查询小结(1)链接如下:
小结1