时间:2021-07-01 10:21:17 帮助过:22人阅读
分类:
1.单行函数
如 concat, length, ifnull等
2.多行函数
功能:做统计使用,又称为统计函数,聚合函数,组函数
*/
字符函数:
#length
SELECT LENGTH("Enoch"); #返回5
SELECT LENGTH("伊诺克"); #返回9
SHOW VARIABLES LIKE ‘%char%‘;
#concat拼接字符串
SELECT CONCAT(last_name,‘ ‘,first_name) FROM employees;
#upper lower
SELECT UPPER(‘Enoch‘);
SELECT CONCAT(UPPER(last_name),‘ ‘,LOWER(first_name)) FROM employees;
#substr substring
注意,索引从1开始
#截取从指定索引处后面所有字符
SELECT SUBSTR(‘阿珍爱上了阿强‘,1) out_put;
SELECT SUBSTR(‘阿珍爱上了阿强‘,1,3) out_put;
#姓名首字符大写,其他字符小写然后用_拼接,显示出来
SELECT CONCAT(UPPER(SUBSTR(last_name,1,1)),‘_‘,LOWER(SUBSTR(last_name,2))) out_put FROM employees;
#instr 返回子串第一次出现的索引,没有返回0
SELECT INSTR(‘阿珍爱上了阿强‘,‘阿强‘) AS out_put;
#trim 去掉空格 去的是前后空格,也可以指定去除什么字符
SELECT TRIM(‘ 阿强 ‘) AS out_put;
SELECT TRIM(‘a‘ FROM ‘aaaaaaaa阿aaa强aaaaaaaaaa‘) AS out_put;
#lpad 用指定字符填充总长度,超过了的话会从右边截断
SELECT LPAD(‘阿珍‘,10,‘*‘) out_put;
#replace
SELECT REPLACE(‘阿珍爱上了阿强‘,‘阿珍‘,‘阿强‘) out_put; #替换后:阿强爱上了阿强
数学函数:
#round 四舍五入
SELECT ROUND(4.5);
SELECT ROUND(1.567,2) #1.57
#ceil向上取整
SELECT CEIL(1.002) #2
#floor向下取整
SELECT FLOOR(9.99) #9
#truncate 截断
SELECT TRUNCATE(1.5666,1) # 1.5
#mod取余
SELECT MOD(10,3)
SELECT MOD(-10,3) 结果为-1
SELECT MOD(10,-3) 结果为1
日期函数:
#now 返回当前系统日期+时间
SELECT NOW();
#curdate 返回当前系统日期,不包含时间
SELECT CURDATE();
#curtime 返回当前系统时间,不包含日期
SELECT CURTIME();
#可以获取指定的部分,年,月,日等
SELECT YEAR(NOW()) 年;
SELECT YEAR(hiredate) 年 FROM employees;
#str_to_date 将日期格式的字符转换成指定格式的日期
/*
%Y:四位的年份
%y:2位的年份
%m:月份 01,02,03,04...
%c:月份 1,2,3,4...
%d:日 01,02...
%H:小时(24小时制)
%h:小时(12小时制)
%i:分钟(00,01,...59)
%s:秒(00,01,...59)
*/
SELECT STR_TO_DATE(‘1998-3-2‘,‘%Y-%c-%d‘) AS out_put;
#date_formate 将日期转换成字符
SELECT DATE_FORMAT(NOW(),‘%y年%m月%d日‘);
Mysql常见函数
标签:单行函数 字符串 拼接字符串 取整 ace ceil 获取 trunc 返回