mysql 普通sql流程控制,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过程中喜欢建表,表格以及查询结果能让语句的作用体现得更加清晰易懂)

建表:

c61b0a64ab4b58a3721808ec45cdc208.png

–表中性别用数字区分,默认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)

b7eefb7898aec6c631b3a5199eacd2e4.png

<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’);

查询结果:

94c735a7c687062691157debf5f53ab4.png

<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’);

1e2a42b8342741c490aa4cfd1a6a0392.png

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

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

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

例:查询当前年月日 时分秒

456e0186c62cdb163c8f27963223de44.png

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

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

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

例:查询13:26:08多少分钟数

SELECT MINUTE(‘13:26:08’)

352e6e9dc4708ce59ec56b642b1cdc5f.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值