SQL学习(3)——MySQL数据库常用的函数--流程控制函数和日期时间函数

二、流程控制函数
<1>CASE:
CASE value WHEN [value1] THEN result1 WHEN [value2] THEN result2 [ELSE result3] END (CASE语句在使用中十分灵活,这里只给出大致的语句方法)
若匹配value1,结果返回result1,若匹配value2结果返回result2,否则返回result3。
(作者在学习sql过程中喜欢建表,表格以及查询结果能让语句的作用体现得更加清晰易懂)

建表:
这里写图片描述

–表中性别用数字区分,默认1为男生,2为女生,其它为数据有误,使用case实现。
SELECT a.id 编号,a.name 姓名,CASE WHEN sex=1 THEN ‘男’ WHEN sex=2 THEN ‘女’ ELSE ‘输入有误’ END 性别
FROM clh_t_cd a;(省略了as)

这里写图片描述

<2>IF(expr1,expr2,expr3):
若expr1为true,则返回expr2,否则返回expe3。

<3>IFNULL(expr1,expr2):
若expr1不为null,则返回expr1,否则返回expr2。

<4>NULLIF(expr1,expr2):
若expr1=expr2成立,返回null,否则返回expr1。

三、日期时间函数
<1>DAYOFWEEK(date):求date是一周中第几天。

<2>DAYOFYEAR(date):求date是一年中的第几天。

<3>DATEOFMONTH(date):求date是一个月的第几天。

例:查询2017-06-02是一周的第几天
SELECT DAYOFWEEK(‘2017-06-02’);
查询结果:
这里写图片描述

<4>WEEKDAY(date):求date是周几(返回 范围0~6)。

<5>YEAR(date):求年份(返回 1000~9999)。

<6>quarter(date):求季度(返回 1~4)。

<7>month(date):求月份(返回1~12)。

例:查询2017-06-02是多少年
SELECT YEAR(‘2017-06-02’);
这里写图片描述

<8>curdate():求当前的年月日。

<9>curdate():求当前的时分秒。

<10>now():求当前的年月日,时分秒。

例:查询当前年月日 时分秒
这里写图片描述

<11>hour(time):(返回0~23)。

<12>minute(time):(返回0~59)。

<13>second(time):(返回0~59)。

例:查询13:26:08多少分钟数
SELECT MINUTE(‘13:26:08’)
这里写图片描述

你可能感兴趣的:(mysql)