1.字符函数
1.length()
返回字符串的字节数,汉字是三个字节,字母是一个字节。(GBK编码情况下汉字是俩字节,utf8 汉字是三个字节)
2.concat()
拼接字符串函数,将字符串拼接起来,或者将查询结果拼接起来
select concat(firstname,' ',lastname) from customers;
查询结果为:

3.upper、lower
分别是将字符串转为大写和将字符串转为小写
4.substr(简写)substring
截取字符串
该函数被重载了,常见类型如下
substr(str,pos)
指的是从第pos个字符开始往后截取,注意mysql里的索引是从1开始
substr(str,pos,len)
指的是从第pos个字符开始往后截取len个字符
5.instr
用于返回字串在主串中第一次出现位置的索引,如果找不到则返回0
instr(str1,str2)//str2为字串
6.trim
把字符串前后的指定的字符去掉
trim(ch from str)//将str中前后ch的字符去掉
如
trim('a' from 'aaaaaaa123aaaaaa')
去除后只剩123
ch from 可以不加,不加则去除空格
7.lpad、rpad
lpad(str,len,padstr)
将padstr这个字符加在str字符串左边,直到str字符串总长达到len
如果想在右边加的话 需使用rpad
8.replace
替换指定字符串或字符
replace(主串,目标串,替换完的串)
2.数学函数
1.round
四舍五入
round(number,num)
num是保留的小数点位数,不加num 则默认为0
2.ceil向上取整
ceil(number);//向上取整,返回大于等于number的最小整数
3.floor 向下取整
floor(number);//返回比number小于或等于最大整数
4.truncate截断
truncate(number,num);小数点后保留num位,不四舍五入
5.mod取余
3.日期函数
1.now
返回当前系统日期+时间
select now();
2.curdate
返回当前系统日期
select curdate();
3.curtime
返回当前时间
select curtime();
4.获取指定部分,年、月、日、小时、分钟、秒
select year(日期类型数据);
如select year('2019-1-1');
select month(日期类型数据);
如果想出现英文月份名字可以用
select monthname(日期类型);
同样的 day minute second 天 分 秒
5.str_to_date
将日期格式转换为指定格式的日期
select str_to_date('1999-12-1','%Y-%m-%d');
6.date_format
将日期转化成字符
date_format('2019/6/9','%Y年%m月%d日');
下面是常见的格式符

4.其他函数
select version();查看版本
select databases();查看数据库
select user();查看用户
isnull(属性名);//若属性为空返回1,反之返回0
ifnull(属性名,x);//若属性为空则返回x
5.流程控制函数
1.if 函数
select if(条件,'1','2')//如果条件为true 则为1,反之为2
2.case函数
有两种用法
1.
case 要判断的字段或表达式(属性名)
when 常量1 then 要显示的值1或语句1
when 常量2 then 要显示的值2或语句2
...
else 要显示的值n或语句n
end
不加分号不加分号不加分号不加分号不加分号不加分号不加分号不加分号
2.
case
when 条件1 then 要显示的值1或语句1
when 条件2 then 要显示的值2或语句2
...
else 要显示的值n或语句n
end
这个end就是结果显示的那一列的属性名,可以取别名
本文深入讲解SQL中的各类函数,包括字符函数如length、concat、upper、lower等,数学函数如round、ceil、floor,日期函数如now、curdate,以及其他实用函数如isnull、ifnull。同时介绍了流程控制函数if和case的使用方法。
1445

被折叠的 条评论
为什么被折叠?



