我是靠谱客的博主 清爽羊,最近开发中收集的这篇文章主要介绍MySQL常用函数之日期函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

1、dayofweek(date)    
返回日期date是星期几(1=星期天,2=星期一,……7=星期六,odbc标准)  

mysql> select dayofweek('1998-02-03');    
  -> 3    

2、weekday(date)    
返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)。   

mysql> select weekday('1997-10-04 22:23:00');    
  -> 5    
mysql> select weekday('1997-11-05');    
  -> 2  

3、dayname(date);返回date是星期几(按英文名返回)  

mysql> select dayname("1998-02-05");    
  -> 'thursday'  

4、monthname(date);作用:返回date是几月(按英文名返回)  

mysql> select monthname("1998-02-05");    
  -> 'february' 

   5、week(date,first);(返回date是一年的第几周(first默认值0,first取值1表示周一是周的开始,0从周日开始)  

mysql> select week('1998-02-20');    
  -> 7    
mysql> select week('1998-02-20',0);    
  -> 7    
mysql> select week('1998-02-20',1);    
  -> 8    

6、year(date),month(date),hour(time),minute(time),second(time)//返回指定日期或时间的时间分量
month(date) ;   返回date中的月份数值  

mysql> select month('1998-02-03');    
  -> 2    

year(date) ;  返回date的年份(范围在1000到9999)

mysql> select year('98-02-03');    
  -> 1998  

hour(time) ;   返回time的小时数(范围是0到23)  

mysql> select hour('10:05:03');    
  -> 10    

minute(time) ;  返回time的分钟数(范围是0到59)

mysql> select minute('98-02-03 10:05:03');    
  -> 5    

second(time) ;   返回time的秒数(范围是0到59)

mysql> select second('10:05:03');    
  -> 3    

7、extract(part from date);截取指定日期的一部分 part:year,month,day,hour,minute,second   

截取当前系统时间的时间分量
SELECT EXTRACT(YEAR FROM NOW()),EXTRACT(DAY FROM NOW());

8、date_format(date,format)将指定日期date按照自定义格式按照字符串显示

   根据format字符串格式化date值  
 (在format字符串中可用标志符:  
 %m 月名字(january……december)    
 %w 星期名字(sunday……saturday)    
 %d 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)    
 %y 年, 数字, 4 位    
 %y 年, 数字, 2 位    
 %a 缩写的星期名字(sun……sat)    
 %d 月份中的天数, 数字(00……31)    
 %e 月份中的天数, 数字(0……31)    
 %m 月, 数字(01……12)    
 %c 月, 数字(1……12)    
 %b 缩写的月份名字(jan……dec)    
 %j 一年中的天数(001……366)    
 %H 小时(00……23)    
 %k 小时(0……23)    
 %h 小时(01……12)    
 %I 小时(01……12)    
 %l 小时(1……12)    
 %i 分钟, 数字(00……59)    
 %r 时间,12 小时(hh:mm:ss [ap]m)    
 %t 时间,24 小时(hh:mm:ss)    
 %S 秒(00……59)    
 %s 秒(00……59)    
 %p am或pm    
 %w 一个星期中的天数(0=sunday ……6=saturday )    
 %U 星期(0……53), 这里星期天是星期的第一天    
 %u 星期(0……53), 这里星期一是星期的第一天    
 %% 字符% )  

mysql> select date_format('1997-10-04 22:23:00','%w %m %
y');
  -> 'saturday october 1997'
mysql> select date_format('1997-10-04 22:23:00','%h:%i:%
s');
  -> '22:23:00'
mysql> select date_format('1997-10-04 22:23:00','%d %y %a
%d %m %b %j');
  -> '4th 97 sat 04 10 oct 277'
mysql> select date_format('1997-10-04 22:23:00','%h %k %i
%r %t %s %w');
  -> '22 22 10 10:23:00 pm 22:23:00 00 6'
将当前日期date按照自定义格式按照字符串显示
SELECT DATE_FORMAT(NOW(),'%Y年%m月%d日%h时%i分%s秒');

9、curdate()/curtime()   
curdate() 
current_date() ; 以'yyyy-mm-dd'或yyyymmdd格式返回当前日期值(根据返回值所处上下文是字符串或数字)

mysql> select curdate();    
  -> '1997-12-15'    
mysql> select curdate() + 0;    
  -> 19971215    

curtime()    
current_time()   以'hh:mm:ss'或hhmmss格式返回当前时间值(根据返回值所处上下文是字符串或数字)  

mysql> select curtime();    
  -> '23:50:26'    
mysql> select curtime() + 0;    
  -> 235026 

10、now()/sysdate()/current_timestamp();获取当前系统时间:都包含年月日时分秒。以'yyyy-mm-dd hh:mm:ss'或yyyymmddhhmmss格式返回当前日期时间。

mysql> select now();    
  -> '1997-12-15 23:50:26'    
mysql> select now() + 0;    
  -> 19971215235026    
这三个函数都是返回当前日期包括年月日时分秒
SELECT NOW(),SYSDATE(),CURRENT_TIMESTAMP();

11、sec_to_time(n);将指定数值n转成时间格式
以'hh:mm:ss'或hhmmss格式返回秒数转成的time值(根据返回值所处上下文是字符串或数字)     

mysql> select sec_to_time(2378);    
  -> '00:39:38'    
mysql> select sec_to_time(2378) + 0;    
  -> 3938    

12、time_to_sec(time);返回time值有多少秒

SELECT TIME_TO_SEC('13:56:56');
SELECT TIME_TO_SEC(NOW()); --只转时间部分
mysql> select time_to_sec('22:23:00');    
  -> 80580    
mysql> select time_to_sec('00:39:38');    
  -> 2378 

 

最后

以上就是清爽羊为你收集整理的MySQL常用函数之日期函数的全部内容,希望文章能够帮你解决MySQL常用函数之日期函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部