概述
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常用函数之日期函数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复