1、dayofweek(date)
返回日期date是星期几(1=星期天,2=星期一,……7=星期六,odbc标准)
1
2mysql> select dayofweek('1998-02-03'); -> 3
2、weekday(date)
返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)。
1
2
3
4mysql> select weekday('1997-10-04 22:23:00'); -> 5 mysql> select weekday('1997-11-05'); -> 2
3、dayname(date);返回date是星期几(按英文名返回)
1
2mysql> select dayname("1998-02-05"); -> 'thursday'
4、monthname(date);作用:返回date是几月(按英文名返回)
1
2mysql> select monthname("1998-02-05"); -> 'february'
5、week(date,first);(返回date是一年的第几周(first默认值0,first取值1表示周一是周的开始,0从周日开始)
1
2
3
4
5
6mysql> 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中的月份数值
1
2mysql> select month('1998-02-03'); -> 2
year(date) ; 返回date的年份(范围在1000到9999)
1
2mysql> select year('98-02-03'); -> 1998
hour(time) ; 返回time的小时数(范围是0到23)
1
2mysql> select hour('10:05:03'); -> 10
minute(time) ; 返回time的分钟数(范围是0到59)
1
2mysql> select minute('98-02-03 10:05:03'); -> 5
second(time) ; 返回time的秒数(范围是0到59)
1
2mysql> select second('10:05:03'); -> 3
7、extract(part from date);截取指定日期的一部分 part:year,month,day,hour,minute,second
1
2
3截取当前系统时间的时间分量 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), 这里星期一是星期的第一天
%% 字符% )
1
2
3
4
5
6
7
8
9
10
11
12
13
14mysql> 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格式返回当前日期值(根据返回值所处上下文是字符串或数字)
1
2
3
4mysql> select curdate(); -> '1997-12-15' mysql> select curdate() + 0; -> 19971215
curtime()
current_time() 以'hh:mm:ss'或hhmmss格式返回当前时间值(根据返回值所处上下文是字符串或数字)
1
2
3
4mysql> select curtime(); -> '23:50:26' mysql> select curtime() + 0; -> 235026
10、now()/sysdate()/current_timestamp();获取当前系统时间:都包含年月日时分秒。以'yyyy-mm-dd hh:mm:ss'或yyyymmddhhmmss格式返回当前日期时间。
1
2
3
4
5
6mysql> 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值(根据返回值所处上下文是字符串或数字)
1
2
3
4mysql> select sec_to_time(2378); -> '00:39:38' mysql> select sec_to_time(2378) + 0; -> 3938
12、time_to_sec(time);返回time值有多少秒
1
2
3
4
5
6SELECT 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常用函数之日期函数内容请搜索靠谱客的其他文章。
发表评论 取消回复