MySQL学习之函数2

3.日期函数

 ①now()  curdate()  curtime() 返回当前的日期时间、日期、时间

     SELECT NOW();----2018-08-19 11:29:26
     SELECT CURDATE();----2018-08-19
     SELECT CURTIME();----11:29:26

②year(),month(),day() ,hour(),minute(),second()获取年月日时分秒

   如  SELECT LPAD(MONTH(NOW()),2,'0'); ----08

③str_to_date(),将日期格式的字符按照指定格式进行解析然后返回日期

    SELECT STR_TO_DATE('19/08/2018','%d/%m/%Y'); --- 2018-08-19  ,将19/08/2018按照%d/%m/%Y格式进行解析,返回日期

    对于格式要求:

    %Y  四位年份

    %y  两位年份

    %m 月份(01,02,03....11,12)

    %c 月份(1,2,3....11,12)

    %d  日  (01,02....)

    %H 小时 (24小时制)

    %h 小时 (12小时制)

    %i  分钟(00,02,03....59)

    %s 秒(00,01...59)

④date_format 将日期转换为时间格式的字符串

    SELECT DATE_FORMAT(NOW(),'%Y年%m月%d日')------- 2018年08月19日

4.流程判断函数

 ①if(e1,e2,e3) e1为条件表达式,如果为true,返回e2,否则返回e3

    SELECT IF(1=2,1,2); --- 2           SELECT IF(1=1,1,2);-----1

②case 

   用法:case  when 表达式 then 结果 when 表达式 then 结果 else 结果 end

CASE
WHEN ac.`isNecessary` = 0 THEN '否'
WHEN ac.`isNecessary` = 1 THEN '是'
ELSE '未知'
END AS isNecessary

或者

CASE ac.`isNecessary`
WHEN 0 THEN '否'
WHEN 1 THEN '是'
ELSE '未知'
END AS isNecessary

IFNULL(e1,e2) 如果e1不为null,返回e1,否则返回e2

ISNULL(e1) ,如果e1为null,则返回1,否则返回0

⑤NULLIF(expr1,expr2)  如果expr1 = expr2 成立,那么返回值为NULL,否则返回值为expr1

还有一些其他的函数,如avg(),sum(),count(),max()等一般和分组group一块使用。

猜你喜欢

转载自blog.csdn.net/qq_36781718/article/details/81836479
今日推荐