首页 > 代码库 > MySQL自学篇(十)——日期函数

MySQL自学篇(十)——日期函数

日期和时间函数

1)获取当前日期的函数和时间的函数

CURDATE()CURRENT_DATE()函数,获取当前日期

select current_date(),curdate(),curdate()+0;

 

curdate()+0   表示将当前时间转化为数值型

 

CURTIME()CURRENT_TIME()获取当前时间

select curtime(),current_time(),current_time()+0;

 

current_time()+0   表示将当前时间转化为数值型

 

2)获取日期+时间的函数

CURRENT_TIMESTAMP(),LOCALTIME(),NOW(),SYSDATE()4个函数的作用相同,都是用于获取当前日期和时间

select current_timestamp(),localtime(),now(),sysdate();

 

 

3UNIX时间戳函数

UNIX_TIMESTAMP(date)若无参数调用,则返回一个UNIX时间戳作为无符号整数。若用date来调用UNIX_TIMESTAMP(),它会将参数值以‘1970-01-01 000000GMT后的秒数的形式返回。

 select unix_timestamp(),unix_timestamp(now()),now();

 

 

(4)返回UTC日期的函数和返回UTC时间的函数

UTC_DATE()返回当前UTC日期值,格式为‘YYYY-MM-DD’或者‘YYYYMMDD’,具体格式取决于函数是否用在字符串或数字语境中。

 select utc_date(),utc_date()+0;

 

 

(5)获取月份的函数MONTH(date)MONTHNAME(date)

select month(now()),monthname(now());

 

6)获取星期的函数DAYNAME(d)DAYOFWEEK(d)WEEKDAY(d)

 select dayname(now()),dayofweek(now()),weekday(now());

 

7)获取星期的函数WEEK(d)WEEKOFYEAR(d)

select week(now()),weekofyear(now());

 

(8)获取天数的函数DAYOFYEAR()DAYOFMONTH()

 select dayofyear(now()),dayofweek(now());

 

 

(9)获取年份、季度、小时、分钟和秒数的函数

 select year(now()),quarter(now()),hour(now()),minute(now()),second(now());

 

(10)获取日期的指定值的函数EXTRACT(type FROM date)

 select extract(year from now()),extract(year_month from now());

 

 

(11)时间和秒数的转换函数TIME_TO_SEC(time)

 select time_to_sec(‘23:23:00‘);

 

 

12)将日期和时间格式化的函数

DATE_FORMATE(date,formate)根据formate指定的格式显示date值。主要formate格式如下表所示。

DATE_FORMATE时间日期格式

说明符

说明

%a

工作日的缩写名称

%b

月份的缩写名称

%c

月份

%D

带有英语后缀的该月日期

%d

该月日期,数字形式

%e

该月日期,数字形式

%f

微妙

%H

以两位数表示24小时

%h%I

以两位数表示12小时

%i

分钟,数字形式

%j

一年中的天数

%k

24小时

%l

12小时

%M

月份名称

%m

月份,数字形式

%p

上午AM或下午PM

%r

时间,12小时制

%S%s

以两位数表示秒

%T

时间,24小时制

%U

周,周日为每周的第一天

%u

周,周一为每周的第一天

%V

周,周日为每周的第一天

%v

周,周一为每周的第一天

%W

工作日名称

%w

一周中的每日

%X

该周的年份,其中周日为每周的第一天

%x

该周的年份,其中周一为每周的第一天

%Y

4位数形式表示年份

%y

2位数形式表示年份

%%

%’文字字符

 

select date_format(‘2015-01-04‘,‘%W%M%Y‘) as col1;

 

技术分享

MySQL自学篇(十)——日期函数