关键字
1.union 与 union all 的区别:
union会自动去重掉两条语句相同的行,union all会列出所有的结果。
日期处理:
1.DATE_FORMAT()
用于以不同格式显示时间/日期数据,
格式:DATE_FORMAT(date,format)
例如:DATE_FORMAT(date,'%y%m%d');
DATE_FORMAT(date,'%Y-%m-%d'),
%Y 年,4 位;%y 年,2 位
2.date_add()
向日期添加指定的时间间隔
例如:SELECT date_add('2017-01-23 00:00:00',interval 3 year);
>>>‘2020-01-23 00:00:00’
SELECT date_add('2017-01-23 00:00:00',interval -3 year);
>>>'2014-01-23 00:00:00'
3.now()
获取当前系统时间,格式为datetime
例如:select now();
>>>'2020-08-20 15:10:13'
字符串处理:
1.concat()
用于将多个字符串连接成一个字符串。
例如:SELECT concat(1,'m','y');
>>>'1my'
SELECT concat(1,'m',null);
>>>null
如果有任何一个参数为null,则返回null。
2.concat_ws()
是concat()函数的特殊形式,第一个参数为其他参数的分割符。
例如:SELECT CONCAT_WS('-','2016','07','09');
>>> '2016-07-09'
SELECT CONCAT_WS(',','first_name','last_name');
>>>'first_name,last_name'
3.ifnull()
判断第一个参数是否为空,如果不为空返回第一个参数,如果为空则返回第二个参数。
例如:SELECT IFNULL(123,'abc');
>>>123
SELECT IFNULL(null,'abc');
>>>'abc'
4.greatest(var1,var2,var3…)
求某几列的最大值,横向求最大,也可以理解为求一个集合里面的最大值
例如:SELECT GREATEST(6,2,16,92,1,89);
>>>92
5.substring_index(str,delim,count)
字符串截取函数,str:要处理的字符串,delim:分隔符,count:计数,我理解为第几个分隔符
例如:SELECT substring_index('www.baidu.com','.',1)
>>> 'www'
SELECT substring_index('www.baidu.com','.',2)
>>>'www.baidu'
6.substr(str,start,lenth)
也是字符串截取函数,str:字符串,start:开始的下标,从1开始,length:需要截取的长度
例如:SELECT substr('www.baidu.com',1,3)
>>>'www'
SELECT substr('www.baidu.com',5,5)
>>>'baidu'
7.replace(str,old_string,new_string)
字符串替换函数,
例如:SELECT replace("2020-06-29","-","");
>>>"20200629"
数字处理:
1.round(num1,num2)
四舍五入函数,num1为处理的数字,num2小数点后保留几位,不填默认为0
例如:SELECT round(535.13);
>>>535
SELECT ROUND(632.5878,2)
>>>632.59