-- 秒
TIMESTAMPDIFF(SECOND ,time1,time2);
-- 分
TIMESTAMPDIFF(MINUTE ,time1,time2);
-- 时
TIMESTAMPDIFF(HOUR ,time1,time2);
-- 天
TIMESTAMPDIFF(DAY ,time1,time2);
-- 月
TIMESTAMPDIFF(MONTH ,time1,time2);
-- 年
TIMESTAMPDIFF(YEAR ,time1,time2);
GROUP_CONCAT(id SEPARATOR ';')
SELECT cp_id,GROUP_CONCAT(id SEPARATOR ";") AS id FROM z_01 GROUP BY cp_id;
表:z_01
UPDATE z_02 SET cp_id=REPLACE(cp_id,";","");
表:z_02 处理前 表:z_02处理后
SELECT SUBSTR(cp_id ,5, 4) AS cp_id FROM z_03;
从第5位截取,截取长度为4;
表:z_03 查询结果
SELECT GREATEST(num1,num2,num3,num4,num5) as max FROM z_01;
SELECT LEAST(num1,num2,num3,num4,num5) as min FROM z_01;
表: z_01
SELECT avg(num1) FROM z_01;
SELECT MAX(num1) FROM z_01;
SELECT MIN(num1) FROM z_01;
表:z_01
SELECT *,CONCAT(str1,str2,str3,str4,str5) AS str FROM z_02;
表: z_02
SELECT LOWER('ABC') AS lower,UPPER('abc') AS upper;
UPDATE z_02 SET
str2=LTRIM(str1),
str3=RTRIM(str1),
str4=TRIM(str1),
str5=REPLACE(replace(replace(str1,CHAR(10),""),CHAR(13),"")," ",'');
表:z_02 处理之前
表:z_02 处理之后
LPAD(s,len,pad) 用字符串pad来对s左侧进行填充,直至长度达到len;
LPAD(s,len,pad) 用字符串pad来对s右侧进行填充,直至长度达到len;
SELECT id,LPAD(id,5,0) AS L_id,RPAD(id,5,0) AS R_id FROM z_02;
SELECT CEIL(12.01),FLOOR(12.01),ROUND(12.6548,1) ,RAND(),TRUNCATE(12.1666,2);
查询结果:
(1)NOW() 返回当前日期时间
(2)CURDATE() 返回当前日期
(3)CURTIME() 返回当前时间
(4)WEEK(date) 返回日期为一年中的周
(5)YEAR(date) 返回日期中的年
(6)DATE_FORMAT(s,pattern) 格式化日期
格式化参数:
%y 表示两位数字年份。例如:(2017返回17)
%Y 表示四位数字年份。例如:(2017返回2017)
%m 表示两位数字月份。例如:(01,02,....,12)
%c 表示数字的月份。例如:(1,2,3,4.....,12)
%M 表示月明,英文名称。
%d 表示两位数字的天数。例如:(01,02,03,.....31)
%e 表示数字的天数。例如(1,2,3,4,.....,31)
%H 表示两位数字的小时数,24小时制。例如:(01,02,.....,24)
%i 表示两位数字的分钟数。例如:(01,02...,60)
%S %s 表示两位数字的秒数。例如:(01,02...,60)
(7)DATE_ADD(d,INTERVAL y type) 给日期加上指定类型y值
例如:select DATE_ADD('2017-06-07',Interval 1 month) from dual;
输出:2017-07-07
Type参数:
YEAR 表示年
MONTH 表示月
DAY 表示日
HOUR 表示小时
MINUTE 表示分钟
SECOND 表示秒