当前位置: 移动技术网 > IT编程>数据库>Mysql > 详解MySql Date函数

详解MySql Date函数

2018年08月08日  | 移动技术网IT编程  | 我要评论

施瓦辛格电影全集,沭阳,泗县陈兆才

下面是mysql中最重要的内建函数

函数  描述

now()   返回当前的日期和时间

now() 返回当前的日期和时间。
语法
now()
-- 实例
-- 下面是 select 语句:
select now(),curdate(),curtime()
结果如下所示:
now()   curdate()   curtime()
2018-06-27 14:25:34   2018-06-27 14:25:34
-- 实例
-- 下面的 sql 创建带有日期时间列(orderdate)的 "orders" 表:
create table orders
(
orderid int not null,
productname varchar(50) not null,
orderdate datetime not null default now(),
primary key (orderid)
)
-- 请注意,orderdate 列规定 now() 作为默认值。作为结果,当您向表中插入行时,当前日期和时间自动插入列中。
-- 现在,我们想要在 "orders" 表中插入一条记录:
insert into orders (productname) values ('jarlsberg cheese')
-- "orders" 表将如下所示:
orderid   productname   orderdate
1   jarlsberg cheese   2018-06-11 14:36:55

curdate()   返回当前的日期

-- curdate() 返回当前的日期。
-- 实例
-- 下面是 select 语句:
select now(),curdate(),curtime()
结果如下所示:
now()   curdate()   curtime()
2018-06-27 14:25:34   2018-06-27 14:25:34
-- 实例
-- 下面的 sql 创建带有日期时间列(orderdate)的 "orders" 表:
create table orders
(
orderid int not null,
productname varchar(50) not null,
orderdate datetime not null default curdate(),
primary key (orderid)
)
-- 请注意,orderdate 列规定 curdate() 作为默认值。作为结果,当您向表中插入行时,当前日期和时间自动插入列中。
-- 现在,我们想要在 "orders" 表中插入一条记录:
insert into orders (productname) values ('jarlsberg cheese')
-- "orders" 表将如下所示:
orderid   productname   orderdate
1   jarlsberg cheese   2018-06-11 14:36:55

curtime()   返回当前的时间

-- curtime() 返回当前的日期。
-- 实例
-- 下面是 select 语句:
select now(),curdate(),curtime()
-- 结果如下所示:
now()   curdate()   curtime()
2018-06-27 14:25:34   2018-06-27 14:25:34

date()  提取日期或日期/时间表达式的日期部分

-- date() 函数提取日期或日期/时间表达式的日期部分。
-- 实例
-- 假设我们有如下的 "orders" 表:
orderid   productname   orderdate
1   jarlsberg cheese   2018-06-27 14:53:44.657
-- 下面是 select 语句:
select productname, date(orderdate) as orderdate
from orders
where orderid=1
-- 结果如下所示:
productname   orderdate
jarlsberg cheese   2018-06-27

extract()   返回日期/时间的单独部分

-- extract() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。
-- 语法
-- extract(unit from date)
-- date 参数是合法的日期表达式。unit 参数可以是下列的值:
unit 值
microsecond
second
minute
hour
day
week
month
quarter
year
second_microsecond
minute_microsecond
minute_second
hour_microsecond
hour_second
hour_minute
day_microsecond
day_second
day_minute
day_hour
year_month
-- 实例
-- 假设我们有如下的 "orders" 表:
orderid   productname   orderdate
1   jarlsberg cheese   2018-06-2715:03:01
-- 下面是 select 语句:
select extract(year from orderdate) as orderyear,
extract(month from orderdate) as ordermonth,
extract(day from orderdate) as orderday,
from orders
where orderid=1
-- 结果如下所示:
orderyear   ordermonth   orderday
2018   06            27

date_add()  向日期添加指定的时间间隔

-- date_add() 函数向日期添加指定的时间间隔。
-- 语法
-- date_add(date,interval expr type)
-- date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。
-- type 参数可以是下列值:
type 值
microsecond
second
minute
hour
day
week
month
quarter
year
second_microsecond
minute_microsecond
minute_second
hour_microsecond
hour_second
hour_minute
day_microsecond
day_second
day_minute
day_hour
year_month
-- 实例
-- 假设我们有如下的 "orders" 表:
orderid   productname   orderdate
1   jarlsberg cheese   2018-06-27 15:02:47
-- 现在,我们想要向 "orderdate" 添加 45 天,这样就可以找到付款日期。
-- 我们使用下面的 select 语句:
select orderid,date_add(orderdate,interval 45 day) as orderpaydate
from orders
-- 结果:
orderid   orderpaydate
1   2018-08-11 15:02:47

date_sub()  从日期减去指定的时间间隔

date_sub() 函数从日期减去指定的时间间隔。
语法
date_sub(date,interval expr type)
date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。
type 参数可以是下列值:
type 值
microsecond
second
minute
hour
day
week
month
quarter
year
second_microsecond
minute_microsecond
minute_second
hour_microsecond
hour_second
hour_minute
day_microsecond
day_second
day_minute
day_hour
year_month
实例
假设我们有如下的 "orders" 表:
orderid   productname   orderdate
  jarlsberg cheese   2018-06-27 15:02:47
现在,我们想要向 "orderdate" 减去 5 天。
我们使用下面的 select 语句:
select orderid,date_sub(orderdate,interval 5 day) as subtractdate
from orders
结果:
orderid   subtractdate
   2018-06-22 15:02:47

 datediff() 返回两个日期之间的天数

dateduff() 返回两个日期之间的天数
实例:
select datediff('2018-11-29','2018-11-30') as diffdate
结果:
diffdate
-1

date_format()   用不同的格式显示日期/时间

date_format() 用不同的格式显示日期/时间
实例:
select date_format(now(),'%b %d %y %h:%i %p');
# date_format(now(),'%b %d %y %h:%i %p')
'jun 27 2018 03:12 pm'
select date_format(now(),'%m-%d-%y');
# date_format(now(),'%m-%d-%y')
'06-27-2018'
select date_format(now(),'%d %b %y');
# date_format(now(),'%d %b %y')
'27 jun 18'
select date_format(now(),'%d %b %y %t:%f');
# date_format(now(),'%d %b %y %t:%f')
'27 jun 2018 15:15:44:000000'
可以使用的格式有:
格式   描述
%a   缩写星期名
%b   缩写月名
%c   月,数值
%d   带有英文前缀的月中的天
%d   月的天,数值(00-31)
%e   月的天,数值(0-31)
%f   微秒
%h   小时(00-23)
%h   小时(01-12)
%i   小时(01-12)
%i   分钟,数值(00-59)
%j   年的天(001-366)
%k   小时(0-23)
%l   小时(1-12)
%m   月名
%m   月,数值(00-12)
%p   am 或 pm
%r   时间,12-小时(hh:mm:ss am 或 pm)
%s   秒(00-59)
%s   秒(00-59)
%t   时间, 24-小时(hh:mm:ss)
%u   周(00-53)星期日是一周的第一天
%u   周(00-53)星期一是一周的第一天
%v   周(01-53)星期日是一周的第一天,与 %x 使用
%v   周(01-53)星期一是一周的第一天,与 %x 使用
%w   星期名
%w   周的天(0=星期日, 6=星期六)
%x   年,其中的星期日是周的第一天,4 位,与 %v 使用
%x   年,其中的星期一是周的第一天,4 位,与 %v 使用
%y   年,4 位
%y   年,2 位

 下面是数据库中存储日期的数据类型

date - 格式:yyyy-mm-dd
datetime - 格式:yyyy-mm-dd hh:mm:ss
timestamp - 格式:yyyy-mm-dd hh:mm:ss
year - 格式:yyyy 或 yy

 总结:日期函数有点乱,其实我觉得记住几个经常用到的就可以了,不一定非要全部记住,必定谁都没有过目不忘的本领,而且也不会出题考试,工作中用到哪个记不住查一下就可以了

以上所述是小编给大家介绍的mysql date函数,希望对大家有所帮助

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网