日期函数
curtime:当前时间
select curtime();
-
网络异常,图片无法展示|
now:当前日期和时间
select now();
-
网络异常,图片无法展示|
YEAR , MONTH , DAY:当前年
select YEAR(now());
-
网络异常,图片无法展示|
YEAR , MONTH , DAY:当前月
select MONTH(now());
-
网络异常,图片无法展示|
YEAR , MONTH , DAY:当前日
select DAY(now());
-
网络异常,图片无法展示|
datediff:获取两个日期相差的天数
select datediff('2022-11-01', '2022-10-01');
-
网络异常,图片无法展示|
案例:
- 查询所有员工的入职天数,并根据入职天数倒序排序。 思路: 入职天数,就是通过当前日期 - 入职日期,所以需要使用datediff函数来完成。
-
网络异常,图片无法展示|
流程函数
- 流程函数也是很常用的一类函数,可以在SQL语句中实现条件筛选,从而提高语句的效率。
函数 | 功能 |
IF(value , t , f) | 如果value为true,则返回t,否则返回f |
IFNULL(value1 , value2) | 如果value1不为空,返回value1,否则返回value2 |
CASE WHEN [ val1 ] THEN [res1] ...ELSE [ default ] END | 如果val1为true,返回res1,... 否则返回default默认值 |
CASE [ expr ] WHEN [ val1 ] THEN[res1] ... ELSE [ default ] END | 如果expr的值等于val1,返回res1,... 否则返回default默认值 |
演示如下:
if
select if(true, 'Ok', 'Error');
-
网络异常,图片无法展示|
select if(false, 'Ok', 'Error');
-
网络异常,图片无法展示|
ifnull
select ifnull('Ok','Default'); select ifnull('','Default'); select ifnull(null,'Default');
网络异常,图片无法展示
|