目录
常用函数
函数的概念及特点:
与java,js中的函数概念一致
特点:数据库函数必须要有返回值(一行一列)
几种函数类型
1、日期函数
now() 获取当前日期;
示例:select now();
day() 获取指定日期的日部分;
示例:select day(now());
month() 获取指定日期的月部分;
示例:select month(now());
year() 获取指定日期的月部分;
示例:select year(now());
date_format() 将日期按指定的格式转换为字符串;
示例:select date_format(now(), '%Y-%m-%d %H:%i:%s');
str_to_date():将特定格式的日期转换成日期;
示例:select str_to_date('2017-01-06 10:20:30','%Y-%m-%d %H:%i:%s');
综合示例:
1)直接按年份计算学生年龄
SELECT t.sname, YEAR(NOW()) - YEAR(t.birthday) FROM t_student t
2)按照出生日期来算,当前月日 < 出生年月的月日则(说明月份还没到),年龄减一
SELECT sid,sname,birthday,YEAR(NOW())-YEAR(birthday) '年龄',
YEAR(NOW())-YEAR(birthday) + IF(CONVERT(DATE_FORMAT(NOW(),'%m%d'),SIGNED)-CONVERT(DATE_FORMAT(birthday,'%m%d'),SIGNED)<0,-1,0) '真实年龄'
FROM t_student;
3)查询本月过生日的学生信息
SELECT * FROM t_student t WHERE MONTH(NOW()) - MONTH(t.birthday) = 0;
2)示例 运行结果如下:
2、字符串函数
upper() 转换成大写字符
示例:select upper('faafafa')
lower() 转换成小写字符